Dettagli dell'ordine dei messaggi per gli argomenti FIFO - Amazon Simple Notification Service

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à.

Dettagli dell'ordine dei messaggi per gli argomenti FIFO

Un argomento FIFO di Amazon SNS invia sempre messaggi alle code di Amazon SQS sottoscritte nell'ordine esatto in cui i messaggi vengono pubblicati nell'argomento e una sola volta. Con una coda FIFO di Amazon SQS sottoscritta, l'utente della coda riceve i messaggi nell'ordine esatto in cui questi vengono consegnati alla coda e senza duplicati. Con una coda standard di SQS sottoscritta, tuttavia, l'utente della coda può ricevere messaggi non in ordine e più di una volta. Ciò consente un ulteriore disaccoppiamento degli abbonati dagli editori, offrendo agli abbonati una maggiore flessibilità in termini di consumo di messaggi e di ottimizzazione dei costi, come mostrato nel diagramma seguente, basato su Esempio di caso d'uso di argomenti FIFO.

Consegna del messaggio rigorosamente ordinato in una piattaforma di e-commerce di ricambi auto.

Si noti che non vi è alcun ordinamento implicito degli abbonati. L'esempio seguente ne è un'illustrazione m1 viene consegnato prima all'abbonato all'ingrosso, poi all'abbonato al dettaglio e quindi all'abbonato di analisi. Messaggio m2 viene consegnato prima all'abbonato al dettaglio, poi all'abbonato all'ingrosso e infine all'abbonato di analisi. Sebbene i due messaggi vengano recapitati agli abbonati in un ordine diverso, l'ordinamento dei messaggi viene mantenuto per ogni abbonato FIFO di Amazon SQS. Ogni abbonato è percepito in isolamento da qualsiasi altro abbonato.

Consegna dei messaggi rigorosamente ordinata per ogni abbonato.

Se un sottoscrittore della coda di Amazon SQS diventa irraggiungibile, può uscire dalla sincronizzazione. Ad esempio, supponiamo che il proprietario della coda dell'applicazione all'ingrosso cambi erroneamente il Policy Coda Amazon SQS in modo da impedire all'entità servizio Amazon SNS di recapitare messaggi alla coda. In questo caso, le consegne degli aggiornamenti dei prezzi alla coda all'ingrosso non vanno a buon fine, mentre quelle alle code di vendita al dettaglio e di analisi hanno esito positivo, causando la mancata sincronizzazione degli abbonati. Quando il proprietario della coda delle applicazioni all'ingrosso corregge la relativa policy della coda, Amazon SNS riprende a consegnare i messaggi alla coda sottoscritta. Gli eventuali messaggi pubblicati nell'argomento che hanno come target la coda configurata in modo errato vengono eliminati, a meno che la sottoscrizione corrispondente non disponga di un coda DLQ configurata.

L'abbonato della coda all'ingrosso diventa temporaneamente irraggiungibile.

È possibile disporre di più applicazioni (o più thread all'interno della stessa applicazione) che pubblicano messaggi in un argomento FIFO SNS in parallelo. Quando si esegue questa operazione, è possibile delegare in modo efficace il sequenziamento dei messaggi al servizio di Amazon SNS. Per determinare la sequenza stabilita di messaggi, è possibile controllare il numero di sequenza.

Il numero di sequenza è un numero grande, non consecutivo, che Amazon SNS assegna a ciascun messaggio. La lunghezza del numero di sequenza è di 128 bit e continua ad aumentare per ogni gruppo di messaggi. Il numero di sequenza viene passato alle code FIFO di Amazon SQS sottoscritte come parte del corpo del messaggio. Tuttavia, se si abilita Consegna di messaggi non elaborati, il messaggio recapitato alla coda di Amazon SQS non include il numero di sequenza o altri metadati del messaggio Amazon SNS.

Amazon SNS assegna un numero di sequenza univoco a ciascun messaggio e lo trasmette ad Amazon SQS.

Gli argomenti FIFO di Amazon SNS definiscono l'ordine nel contesto di un gruppo di messaggi. Per ulteriori informazioni, consulta Raggruppamento di messaggi per argomenti FIFO.