Amazon SNS - AWS Präskriptive Leitlinien

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.

Amazon SNS

Mit Amazon SNS können Sie sowohl Standard- als auch FIFO-Themen erstellen. Themen werden verwendet, um eine publish/subscribe (Pub/Sub-) Architektur zu implementieren. Amazon SNS unterstützt eine Vielzahl von Abonnementtypen, darunter E-Mail, SMS (vorausgesetzt, Sie haben eine Ausgangsidentität konfiguriert, z. B. eine gebührenfreie Nummer oder einen 10-stelligen Langcode), HTTP (S) -Endpunkte und SQS-Warteschlangen. Endbenutzer-Abonnements, wie E-Mail-Nachrichten und SMS-Nachrichten, für ein SNS-Thema müssen vom Abonnenten bestätigt werden. Amazon SNS ermöglicht es Diensten, sich weit auszubreiten, was bedeutet, dass eine einzelne Nachricht an eine potenziell große Anzahl von Abonnenten zugestellt werden kann. Ein SNS-Standardthema hat ein Standardlimit von 12,5 Millionen Abonnements.

In einer Microservices-Umgebung ist ein SNS-Thema nützlich, um die Routing- und Übermittlungslogik von der Logik eines Herausgebers zu entkoppeln. Dies kann mithilfe von Themenfiltern implementiert werden. Konzeptionell sind Themenfilter den EventBridge Amazon-Regeln etwas ähnlich, sie werden jedoch für jeden Abonnenten konfiguriert, anstatt von einem zentralen Ort aus verfügbar zu sein. Nehmen wir zum Beispiel an, Sie haben:

  • Ein Bestellservice, der Bestellungen bearbeitet.

  • Ein Fulfillment-Service, der die Auftragserfüllung abwickelt.

  • Ein Treuedienst, der Mitgliedern Treuepunkte für Bestellungen vergibt.

Wenn eine Bestellung zur Ausführung bereit ist, veröffentlicht sie eine Nachricht zu einem Thema. Der Fulfillment-Service abonniert das Thema, wendet aber keinen Filter an, da er über alle Bestellungen informiert werden möchte. Stellen Sie sich vor, Sie haben einen Treueservice, der dafür verantwortlich ist, Mitgliedern Punkte zu gewähren, wenn sie eine Bestellung aufgeben. Es werden jedoch nicht alle Bestellungen von Mitgliedern aufgegeben. Der Treueservice würde das Thema abonnieren, würde aber einen Abonnementfilter implementieren, um ein Attribut zu überprüfen, das angibt, ob die Bestellung für ein Mitglied oder einen Gast war.

Stellen Sie sich den Fall vor, dass ein System eine Zahlungsaufforderung von einem Endbenutzer erhält, wie in der folgenden Abbildung dargestellt. In diesem Fall müssen mehrere nachgelagerte Systeme wissen, dass die Anfrage gestellt wurde, damit verschiedene Maßnahmen ergriffen werden können. Wenn Sie Amazon SNS verwenden, werden Zahlungen unter einem SNS-Thema veröffentlicht, und Lambda-Funktionen abonnieren das Thema, um die Kunden- und Vertriebsdatenbanken zu aktualisieren. Darüber hinaus sendet ein E-Mail-Abonnement (das vom Kunden bestätigt werden muss) mithilfe eines Abonnementfilters eine E-Mail-Bestätigung an den Kunden.

Amazon SNS SNS-Prozessablauf für Messaging in Microservices.

Empfehlungen

Einige der in diesem Abschnitt für Amazon SNS beschriebenen Funktionen überschneiden sich mit den Funktionen, die ein Event-Bus bietet, wie z. EventBridge Erwägen Sie die Verwendung von Amazon SNS in folgenden Fällen:

  • Sie werden eine große Anzahl von Abonnenten für ein Thema haben.

  • Sie möchten Abonnementtypen (wie E-Mail oder SMS) verwenden, die nicht nativ von EventBridge unterstützt werden.

  • Abonnenten sollten in der Lage sein, ihren Abonnementfilter zu bestimmen.

  • Sie benötigen eine geordnete Zustellung an Abonnenten (pro Nachrichtengruppe).

Wenn Sie viele Themen haben und Abonnements und Filter verwendet werden, um Nachrichten zwischen Microservices weiterzuleiten, EventBridge ist dies wahrscheinlich die bessere Wahl.