È possibile creare livelli di aggregazione / de-aggregazione API su entrambe le estremità.
Sul lato client, puoi creare un layer che riceve richieste API e "detiene" per N ms
per vedere se arrivano fino a M altre richieste. È necessario aggregarle in qualsiasi formato funzioni per te prima di inviarlo. La risposta aggregata in qualsiasi formato è utile per te dovrà essere divisa da un livello client controparte e i callback per ogni singola richiesta saranno problemi da lì.
Sul lato server, è sufficiente il corrispondente livello di de-aggregazione / riaggregazione. Inizialmente, si può ancora elaborare la richiesta in modo sequenziale a thread singolo. E questo potrebbe anche migliorare le prestazioni. Inoltre, le richieste di aggregazione e "de-aggregazione" non devono essere terribilmente complicate. È sufficiente creare una serie di richieste e utilizzare un formato di serializzazione comune (JSON) per il trasporto.
Ho ottenuto alcuni risultati favorevoli con un'implementazione piuttosto semplice di questo su un sito a basso traffico . (Ancora per vedere come scala!)
Tuttavia, potresti non notare alcun miglioramento - potresti trovarlo, nel tuo caso , inviando N richieste AJAX asincrone e simultanee al client -side è in realtà l'opzione più performante. Il sovraccarico di attesa, aggregazione (due volte) e "de-aggregazione" (due volte) potrebbe essere più che semplicemente l'emissione di più richieste, presumibilmente a condizione che tali richieste non siano forzate per l'esecuzione in sequenza.