Dettagli sull'ordinazione dei SNS messaggi Amazon per 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 sull'ordinazione dei SNS messaggi Amazon per argomenti FIFO

Un SNS FIFO argomento Amazon recapita sempre i messaggi alle SQS code Amazon sottoscritte nell'ordine esatto in cui i messaggi vengono pubblicati sull'argomento e solo una volta. Con un abbonamento Amazon SQS FIFO Queue, l'utente della coda riceve i messaggi nell'ordine esatto in cui i messaggi vengono consegnati alla coda e senza duplicati. Con un abbonamento Amazon SQS Standard Queue, tuttavia, l'utente della coda può ricevere messaggi non corretti 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 utilizzo di un SNS FIFO argomento Amazon.

Esempio del sistema di consegna dei messaggi in un argomento di Amazon SNS FIFO (First-In-First-Out), che evidenzia come i messaggi vengano consegnati in modo coerente in un ordine rigoroso alle code di Amazon. SQS FIFO Ciò contrasta con il comportamento di una coda SQS standard di Amazon, in cui i messaggi possono arrivare fuori servizio e più di una volta. L'esempio mostra tre diversi tipi di abbonati, una funzione di analisi, un'applicazione per la vendita all'ingrosso e un'applicazione per la vendita al dettaglio, che dimostrano come ciascuno di essi riceva i messaggi in ordine rigoroso o con la massima diligenza a seconda del tipo di coda a cui si iscrive.

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'ordine dei messaggi viene mantenuto per ogni abbonato Amazon SQSFIFO. Ogni abbonato è percepito in isolamento da qualsiasi altro abbonato.

Esempio di come SNS FIFO gli argomenti di Amazon e vari tipi di abbonati, tra cui Amazon SQS FIFO e le code standard, gestiscono l'ordine e la consegna dei messaggi. Mostra che i messaggi vengono pubblicati su un argomento e recapitati a diversi tipi di code, garantendo la consegna ordinata per le code e l'ordinamento ottimale per le FIFO code standard. Questa configurazione supporta scenari in una piattaforma di e-commerce in cui diversi componenti richiedono una consegna affidabile dei messaggi in un ordine specifico per un'elaborazione accurata.

Se un abbonato Amazon SQS Queue diventa irraggiungibile, può perdere la sincronizzazione. Ad esempio, supponiamo che il proprietario della coda delle applicazioni all'ingrosso modifichi erroneamente la politica di SQS coda di Amazon in modo da impedire al responsabile del SNS servizio Amazon di recapitare i 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 di vendita all'ingrosso corregge la sua politica di coda, Amazon SNS riprende a recapitare i messaggi alla coda degli abbonati. 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.

Esempio del comportamento di recapito dei messaggi in una SNS FIFO configurazione Amazon in cui i messaggi vengono pubblicati a diversi tipi di abbonati (vendita all'ingrosso, vendita al dettaglio e analisi) tramite le code AmazonSQS. Evidenzia l'impatto di un'errata configurazione della politica di coda sulla sincronizzazione della consegna dei messaggi tra diverse code di abbonati. L'esempio mostra come il recapito dei messaggi non riesca per l'abbonato all'ingrosso a causa di un errore di policy, ma continui con successo per gli abbonati al settore retail e analytics, sottolineando l'importanza di una corretta configurazione della coda per mantenere la consegna sincronizzata dei dati. Questo scenario evidenzia la capacità degli FIFO argomenti di garantire una consegna ordinata e puntuale in circostanze normali e le conseguenze degli errori di configurazione.

È possibile avere più applicazioni (o più thread all'interno della stessa applicazione) che pubblicano messaggi su un SNS FIFO argomento in parallelo. In questo modo, deleghi efficacemente il sequenziamento dei messaggi al servizio AmazonSNS. Per determinare la sequenza stabilita di messaggi, è possibile controllare il numero di sequenza.

Il numero di sequenza è un numero grande e 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 SQS code Amazon sottoscritte come parte del corpo del messaggio. Tuttavia, se abiliti il recapito di messaggi non elaborati, il messaggio che viene recapitato alla SQS coda di Amazon non include il numero di sequenza o altri metadati dei SNS messaggi Amazon.

Esempi di più funzioni Lambda pubblicano messaggi su un argomento Amazon SNS FIFO (First In, First Out), che quindi li consegna a una SQS FIFO coda Amazon, preservando l'ordine rigoroso di elaborazione dei messaggi. Questa configurazione viene utilizzata per garantire che i messaggi vengano elaborati nell'ordine esatto in cui vengono inviati tra i diversi componenti di un'applicazione, con numeri di sequenza che indicano l'ordine di ogni messaggio all'interno di un gruppo. Questo tipo di configurazione è fondamentale per le applicazioni in cui l'ordine delle operazioni e dei messaggi deve essere rigorosamente mantenuto per garantire la coerenza.

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