Q.1 So che quando parliamo di synchronous HTTP
, per ogni richiesta un thread può essere spawnato e bloccato, quindi quando il numero di connessioni simultanee aumenta, incontreremo un thread enorme overhead.
La modalità asincrona tollererà alcune risposte di polling generali per qualcosa desiderato, ma il numero di thread diminuirà drasticamente.
So anche che Asynchronous HTTP
ci consentirà di agire anche quando la risposta fornita non è la risposta completa (solo una parte della risposta è ricevuta) che è appropriata per le azioni in tempo reale.
Ma quali sono gli altri vantaggi di Async HTTP
?
Q.2 Ho un server che ha solo e solo un client, ma quel client invierà migliaia di richieste al secondo. Io uso il blocco IO ( Synchronous HTTP
) con i thread leggeri ( Quasar
). Devo passare ad Async? Qual è il vantaggio di farlo per me?
EDIT. Ulteriori chiarimenti. Ho un server HTTP con 3-4 mila richieste dallo stesso client al secondo e ho un solo client. Ho risolto il problema dell'overhead del thread utilizzando thread leggeri insieme a HTTP sincrono (ad esempio, bloccando IO) invece di usare Async HTTP.
Ora non so se rimuovere l'overhead del thread fosse tutto il lavoro che dovevo fare, o affronterò qualche altro problema in seguito a causa dell'utilizzo di API asincrone? (E questo forse perché non conosco tutti i vantaggi dell'API asincrona che significa Q.1)
Saluti