Modelli di messaggistica

La tipologia distribuita delle applicazioni cloud richiede un'infrastruttura di messaggistica in grado di connettere componenti e servizi, idealmente con un approccio "a regime di controllo libero" per ottimizzare la scalabilità. La messaggistica asincrona è ampiamente usata e, pur offrendo numerosi vantaggi, comporta anche sfide come l'ordinamento dei messaggi, la gestione dei messaggi non elaborabili, l'idempotenza e altro ancora.

Modello Summary
Richiesta e risposta asincrone Separare l'elaborazione back-end da un host front-end, in cui l'elaborazione back-end deve essere asincrona, ma il front-end necessita ancora di una risposta chiara.
Scontrino Dividere un messaggio di grandi dimensioni in uno scontrino e un payload per evitare di sovraccaricare il bus dei messaggi.
Coreografia Consente a ogni componente del sistema di partecipare al processo decisionale sul flusso di lavoro di una transazione aziendale, anziché basarsi su un punto di controllo centrale.
Consumer concorrenti Consentire a più consumer concorrenti di elaborare i messaggi ricevuti sullo stesso canale di messaggistica.
Pipe e filtri Scomporre un'attività che esegue un'elaborazione complessa in una serie di elementi distinti riutilizzabili.
Coda di priorità Assegnare una priorità alle richieste inviate ai servizi in modo che le richieste con una priorità più alta vengano ricevute ed elaborate più rapidamente rispetto a quelle con priorità più bassa.
Sottoscrittore del server di pubblicazione Abilitare un'applicazione all'annuncio di eventi a più consumer interessati in modalità asincrona, senza accoppiamento di mittenti e destinatari.
Livellamento del carico basato sulle code Usare una coda che funge da buffer tra un'attività e un servizio richiamato per alleggerire i carichi di lavoro elevati intermittenti.
Saga Gestire la coerenza dei dati tra microservizi in scenari di transazioni distribuite. Una saga è una sequenza di transazioni che aggiorna ogni servizio e pubblica un messaggio o un evento per attivare il passaggio successivo della transazione.
Supervisione agente di pianificazione Coordinare un set di azioni in un set distribuito di servizi e di altre risorse remote.
Serie di istruzioni sequenziali Elaborare un set di messaggi correlati in un ordine definito, senza bloccare l'elaborazione di altri gruppi di messaggi.