Il flusso di lavoro di checkout di un e-commerce aziendale scrive un ordine in un database e chiama un servizio di pagamento. Gli utenti riscontrano timeout durante il checkout; quando inviano nuovamente l'ordine, vengono creati più ordini unici per la stessa transazione. In che modo un architetto di soluzioni dovrebbe rifattorizzare il flusso di lavoro per prevenire ordini multipli?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Archiviare l'ordine nel database. Inviare un messaggio che includa il numero d'ordine a una coda Amazon Simple Queue Service (Amazon SQS) FIFO. Fare in modo che il servizio di pagamento recuperi il messaggio, elabori l'ordine e quindi elimini il messaggio dalla coda..
Perché questa è la risposta
La soluzione corretta utilizza Amazon SQS FIFO (First-In, First-Out) per garantire che i messaggi vengano elaborati una sola volta e nell'ordine esatto in cui sono stati inviati. Archiviare l'ordine nel database prima di inviare il messaggio assicura la persistenza dei dati. Il servizio di pagamento recupera il messaggio, elabora l'ordine e lo elimina dalla coda, prevenendo duplicazioni anche in caso di timeout iniziali. Le altre opzioni sono meno adatte: Kinesis Data Firehose è per la raccolta e la consegna di flussi di dati, non per la messaggistica transazionale point-to-point con garanzia di elaborazione singola. CloudTrail è un servizio di logging e monitoraggio, non una soluzione per la logica di business o l'orchestrazione di workflow. Amazon SNS è un servizio di pubblicazione/sottoscrizione che non garantisce l'elaborazione singola del messaggio da parte di un singolo sottoscrittore e non offre le garanzie FIFO necessarie per prevenire ordini duplicati in questo scenario.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta