Scoppia il pattern di messaggistica - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Scoppia il pattern di messaggistica

Questo modello fornisce una comunicazione asincrona tra microservizi utilizzando un modello di sondaggio asincrono. Quando il sistema backend riceve una chiamata, risponde immediatamente con un identificatore della richiesta e quindi elabora in modo asincrono la richiesta. È possibile creare un'architettura abbinata liberamente, che evita i colli di bottiglia causati dalla comunicazione sincrona, dalla latenza e dalle operazioni di input/output (IO). Nel caso d'uso del modello, Amazon Simple Queue Service (Amazon SQS) e Lambda vengono utilizzati per implementare comunicazioni asincrone tra microservizi diversi.

Dovresti considerare l'utilizzo di questo modello se:

  • Vuoi creare un'architettura abbinata liberamente.

  • Non è necessario completare tutte le operazioni in una singola transazione e alcune operazioni possono essere asincrone.

  • Il sistema a valle non è in grado di gestire il tasso di transazioni in entrata al secondo (TPS). I messaggi possono essere scritti in coda ed elaborati in base alla disponibilità delle risorse.

Uno svantaggio di questo modello è che le azioni delle transazioni commerciali sono sincrone. Anche se il sistema chiamante riceve una risposta, parte della transazione potrebbe continuare ad essere elaborata dai sistemi a valle.

Importante

Poiché questo modello è più adatto per un modello fire-and-forget, il cliente che chiama questo servizio dovrebbe eseguire il polling del servizio effettivo utilizzando un ID di richiesta per ottenere lo stato della transazione.

Caso d'uso

In questo caso d'uso, il sistema assicurativo dispone di un database di vendita che viene aggiornato automaticamente con i dettagli della transazione del cliente dopo aver effettuato un pagamento mensile. Nella figura seguente viene illustrato come creare questo sistema utilizzando il modello di messaggistica di disaccoppiamento.

Modello di disaccoppiamento di messaggi

Il flusso di lavoro è costituito dalle fasi seguenti:

  1. L'applicazione frontend chiama API Gateway con le informazioni di pagamento dopo che un utente ha effettuato il pagamento mensile.

  2. L'API Gateway esegue la funzione «Cliente» Lambda che salva le informazioni di pagamento in un database Amazon Aurora, scrive i dettagli della transazione in un messaggio su Amazon SQS «Vendite» e risponde al sistema chiamante con un messaggio di successo.

  3. Una funzione «Sales» Lambda estrae i dettagli della transazione dal messaggio SQS e aggiorna i dati di vendita. La logica di errore e di nuovo tentativo per aggiornare il database di vendita è incorporata come parte della funzione «Vendite» Lambda.