View a markdown version of this page

Bestelldetails für Amazon SNS-Nachrichten für FIFO-Themen - Amazon Simple Notification Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Bestelldetails für Amazon SNS-Nachrichten für FIFO-Themen

In einem Amazon-SNS-FIFO-Thema werden Nachrichten an abonnierte Amazon-SQS-Warteschlangen in der genauen Reihenfolge übermittelt, in der die Nachrichten für das Thema veröffentlicht werden, und zwar nur einmal. Beim Abonnement einer Amazon-SQS-FIFO-Warteschlange erhält der Benutzer der Warteschlange die Nachrichten in der exakten Reihenfolge, in der die Nachrichten an die Warteschlange zugestellt werden, und ohne Duplikate. Wenn eine -Amazon-SQS-Standard-Warteschlange abonniert ist, kann es jedoch vorkommen, dass der Benutzer der Warteschlange Nachrichten nicht in der richtigen Reihenfolge erhält, und dazu mehr als einmal. Dies ermöglicht eine weitere Entkopplung der Abonnenten von den Herausgebern, was den Abonnenten mehr Flexibilität in Bezug auf die Nachrichtennutzung und die Kostenoptimierung bietet, wie das folgende Diagramm zeigt, das auf der Grundlage von Beispiel für einen Anwendungsfall zum Thema Amazon SNS FIFO erstellt wurde.

Beispiel für das Nachrichtenübermittlungssystem in einem Amazon SNS FIFO (First-In-First-Out) -Thema, in dem hervorgehoben wird, wie Nachrichten konsistent in einer strikten Reihenfolge an Amazon SQS FIFO-Warteschlangen zugestellt werden. Dies wird dem Verhalten einer Amazon SQS-Standardwarteschlange gegenübergestellt, in der Nachrichten möglicherweise nicht in der richtigen Reihenfolge und mehr als einmal ankommen. Das Beispiel zeigt drei verschiedene Abonnententypen — eine Analysefunktion, eine Großhandelsanwendung und eine Einzelhandelsanwendung — und zeigt, wie jeder Abonnent Nachrichten entweder in strikter Reihenfolge oder in einer Best-Effort-Reihenfolge empfängt, je nachdem, welche Art von Warteschlange er abonniert hat.

Beachten Sie, dass es keine implizite Bestellung der Abonnenten gibt. Das folgende Beispiel zeigt, dass die Nachricht m1 zuerst an den Großhandels-Abonnenten, dann an den Einzelhandel- und schließlich an den Analyse-Abonnenten geht. Nachricht m2 wird zuerst an den Einzelhandels, dann an den Großhandels- und schließlich an den Analyse-Abonnenten zugestellt. Obwohl die beiden Nachrichten an die Abonnenten in einer anderen Reihenfolge zugestellt werden, wird die Nachrichtenreihenfolge für jeden Amazon-SQS-FIFO-Abonnenten beibehalten. Jeder Teilnehmer wird isoliert von anderen Abonnenten wahrgenommen.

Beispiel dafür, wie Amazon SNS-FIFO-Themen und verschiedene Abonnententypen, einschließlich Amazon SQS FIFO und Standardwarteschlangen, die Nachrichtenreihenfolge und -zustellung handhaben. Es zeigt, dass Nachrichten zu einem Thema veröffentlicht und an verschiedene Arten von Warteschlangen gesendet werden. So wird für FIFO-Warteschlangen eine geordnete Zustellung und für Standardwarteschlangen eine Bestmögliche Bestellung gewährleistet. Dieses Setup unterstützt Szenarien auf einer E-Commerce-Plattform, in denen verschiedene Komponenten eine zuverlässige Nachrichtenzustellung in einer bestimmten Reihenfolge benötigen, um eine genaue Verarbeitung zu gewährleisten.

Wenn ein Amazon-SQS-Warteschlangenabonnent nicht erreichbar ist, ist er nicht mehr synchronisiert. Angenommen, der Besitzer der Wholesale-AnwendungsQueue fälschlicherweise ändert dieAmazon-SQS-Warteschlangenrichtlinieauf eine Weise, die verhindert, dass der Amazon-SNS-Serviceprinzipal Nachrichten an die Queue sendet. In diesem Fall schlagen Preisaktualisierungen an die Großhandels-Warteschlange fehl, während die Lieferungen an die Einzelhandels- und die Analyse-Warteschlangen erfolgreich sind, was dazu führt, dass die Abonnenten nicht synchron sind. Wenn der Besitzer der Warteschlange der Großhandelsanwendung die Warteschlangenrichtlinie ändert, setzt Amazon SNS das Zustellen der Nachrichten an die abonnierte Warteschlange fort. Alle Nachrichten, die für das Thema veröffentlicht wurden und auf die falsch konfigurierte Warteschlange abzielen, werden gelöscht, es sei denn, für das Abonnement ist eine Warteschlange für unzustellbare Nachrichten konfiguriert.

Beispiel für das Verhalten der Nachrichtenzustellung in einem Amazon SNS-FIFO-Setup, bei dem Nachrichten über Amazon SQS-Warteschlangen an verschiedene Abonnententypen (Großhandel, Einzelhandel und Analytik) veröffentlicht werden. Es beleuchtet die Auswirkungen einer Fehlkonfiguration einer Warteschlangenrichtlinie auf die Synchronisation der Nachrichtenzustellung über verschiedene Abonnenten-Warteschlangen hinweg. Das Beispiel zeigt, wie die Nachrichtenzustellung beim Großkundenabonnenten aufgrund eines Richtlinienfehlers fehlschlägt, bei Einzelhandels- und Analytics-Abonnenten jedoch erfolgreich fortgesetzt wird. Dies unterstreicht, wie wichtig eine korrekte Warteschlangenkonfiguration für die Aufrechterhaltung einer synchronisierten Datenzustellung ist. Dieses Szenario unterstreicht, dass FIFO-Themen in der Lage sind, unter normalen Umständen eine geordnete und exakte Zustellung zu gewährleisten, und die Folgen von Konfigurationsfehlern.

Sie können mehrere Anwendungen (oder mehrere Threads innerhalb derselben Anwendung) gleichzeitig Nachrichten in einem SNS-FIFO-Thema veröffentlichen. Wenn Sie dies tun, delegieren Sie die Nachrichtensequenzierung effektiv an den Amazon SNS-Service. Um die etablierte Sequenz von Nachrichten zu bestimmen, können Sie die Sequenznummer überprüfen.

Die Sequenznummer ist eine große, nicht fortlaufende Zahl, die Amazon SNS jeder Nachricht zuweist. Die Länge der Sequenznummer beträgt 128 Bit und nimmt für jede Nachrichtengruppe weiter zu. Die Sequenznummer wird an die abonnierten Amazon-SQS-Warteschlangen als Teil des Nachrichtentextes übergeben. Wenn Sie jedoch Rohnachrichtenzustellung aktivieren, enthält die Nachricht, die an die Amazon-SQS-Warteschlange übermittelt wird, weder die Sequenznummer noch andere Amazon-SNS-Nachrichtenmetadaten.

Beispiel für mehrere Lambda-Funktionen, die Nachrichten in einem Amazon SNS-FIFO-Thema (First In, First Out) veröffentlichen, das diese Nachrichten dann an eine Amazon SQS-FIFO-Warteschlange weiterleitet, wobei die strikte Reihenfolge der Nachrichtenverarbeitung beibehalten wird. Dieses Setup wird verwendet, um sicherzustellen, dass Nachrichten in der exakten Reihenfolge verarbeitet werden, in der sie an die verschiedenen Komponenten einer Anwendung gesendet werden, wobei die Sequenznummern die Reihenfolge für jede Nachricht innerhalb einer Gruppe angeben. Diese Art der Konfiguration ist entscheidend für Anwendungen, bei denen die Reihenfolge der Operationen und Nachrichten strikt eingehalten werden muss, um die Konsistenz zu gewährleisten.

Amazon SNS FIFO-Themen definieren die Reihenfolge im Kontext einer Nachrichtengruppe. Weitere Informationen finden Sie unter Amazon SNS-Nachrichtengruppierung für FIFO-Themen.