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.
Fanout SNS Amazon-Events zu AWS Event Fork Pipelines
Für die Archivierung und Analyse von Ereignissen empfiehlt Amazon SNS jetzt, die native Integration mit Amazon Data Firehose zu verwenden. Sie können Firehose-Lieferstreams für SNS Themen abonnieren, sodass Sie Benachrichtigungen an Archivierungs- und Analyseendpunkte wie Amazon Simple Storage Service (Amazon S3) -Buckets, Amazon Redshift Redshift-Tabellen, Amazon OpenSearch Service (OpenSearch Service) und mehr senden können. Die Verwendung von Amazon SNS mit Firehose Delivery Streams ist eine vollständig verwaltete und codelose Lösung, für die Sie keine Funktionen verwenden müssen. AWS Lambda Weitere Informationen finden Sie unter Lieferstreams von Fanout nach Firehose. |
Sie können Amazon verwendenSNS, um ereignisgesteuerte Anwendungen zu erstellen, die Abonnentendienste nutzen, um automatisch Aufgaben als Reaktion auf Ereignisse auszuführen, die von Publisher-Services ausgelöst werden. Dieses Architekturmuster kann eine bessere Wiederverwendbarkeit, Interoperabilität und Skalierbarkeit von Services unterstützen. Es kann jedoch arbeitsaufwändig sein, die Verarbeitung von Ereignissen auf Pipelines aufzuteilen, die gemeinsame Anforderungen an die Ereignisbehandlung erfüllen, wie Speicherung, Backup, Suche, Analytik und Replay von Events.
Um die Entwicklung Ihrer ereignisgesteuerten Anwendungen zu beschleunigen, können Sie Event-Handling-Pipelines — unterstützt von Event Fork Pipelines — für Amazon-Themen abonnieren. AWS SNS AWS Event Fork Pipelines ist eine Suite verschachtelter Open-Source-Anwendungen, die auf dem AWS Serverless Application Model
Einen Anwendungsfall für AWS Event Fork Pipelines finden Sie unter. Bereitstellen und Testen der Beispielanwendung Amazon SNS Event Fork Pipelines
Themen
So funktionieren AWS Event Fork-Pipelines
AWS Event Fork Pipelines ist ein serverloses Entwurfsmuster. Es handelt sich jedoch auch um eine Suite von verschachtelten serverlosen Anwendungen, die darauf basieren AWS SAM (die Sie direkt von AWS Serverless Application Repository (AWS SAR) auf Ihrem System bereitstellen können, um Ihre AWS-Konto ereignisgesteuerten Plattformen zu erweitern). Sie können diese verschachtelten Anwendungen einzeln bereitstellen wie von Ihrer Architektur gefordert.
Themen
Das folgende Diagramm zeigt eine AWS Event Fork Pipelines-Anwendung, die durch drei verschachtelte Anwendungen ergänzt wird. Sie können jede der Pipelines aus der AWS Event Fork Pipelines Suite AWS SAR unabhängig voneinander bereitstellen, wie es Ihre Architektur erfordert.
Jede Pipeline hat dasselbe SNS Amazon-Thema abonniert, sodass sie Ereignisse parallel verarbeiten kann, wenn diese Ereignisse zum Thema veröffentlicht werden. Jede Pipeline ist unabhängig und Sie können eine eigene Abonnementfilterrichtlinie festlegen. So ist es möglich, dass eine Pipeline nur eine Teilmenge der Ereignisse verarbeitet - die von Interesse (anstelle aller zum Thema veröffentlichter Ereignisse).
Anmerkung
Da Sie die drei AWS Event Fork-Pipelines neben Ihren regulären Event-Verarbeitungspipelines platzieren (möglicherweise haben Sie Ihr SNS Amazon-Thema bereits abonniert), müssen Sie keinen Teil Ihres aktuellen Nachrichtenherausgebers ändern, um AWS Event Fork-Pipelines in Ihren bestehenden Workloads zu nutzen.
Die Pipeline für die Speicherung und Sicherung von Ereignissen
Das folgende Diagramm zeigt die Pipeline für die Speicherung und Sicherung von Ereignissen
Diese Pipeline besteht aus einer SQS Amazon-Warteschlange, die die vom SNS Amazon-Thema übermittelten Ereignisse zwischenspeichert, einer AWS Lambda Funktion, die automatisch nach diesen Ereignissen in der Warteschlange abfragt und sie in einen Amazon Data Firehose-Stream überträgt, und einem Amazon S3-Bucket, der die vom Stream geladenen Ereignisse dauerhaft sichert.
Um das Verhalten Ihres Firehose-Streams zu optimieren, können Sie ihn so konfigurieren, dass Ihre Ereignisse gepuffert, transformiert und komprimiert werden, bevor sie in den Bucket geladen werden. Wenn Ereignisse geladen werden, können Sie Amazon Athena verwenden, um den Bucket mithilfe von SQL Standardabfragen abzufragen. Sie können die Pipeline auch für die Wiederverwendung eines vorhandenen Amazon S3-Buckets konfigurieren oder einen neuen Bucket erstellen.
Die Pipeline für die Suche und Analyse von Ereignissen
Das folgende Diagramm zeigt die Pipeline für die Suche und Analyse von Ereignissen
Diese Pipeline besteht aus einer SQS Amazon-Warteschlange, die die vom SNS Amazon-Thema übermittelten Ereignisse zwischenspeichert, einer AWS Lambda Funktion, die Ereignisse aus der Warteschlange abfragt und sie in einen Amazon Data Firehose-Stream überträgt, einer Amazon OpenSearch Service-Domain, die die vom Firehose-Stream geladenen Ereignisse indexiert, und einem Amazon S3-Bucket, der die Ereignisse speichert, die nicht in der Such-Domain indexiert werden können.
Um Ihren Firehose-Stream in Bezug auf die Pufferung, Transformierung und Komprimierung von Ereignissen zu optimieren, können Sie diese Pipeline konfigurieren.
Sie können auch konfigurieren, ob die Pipeline eine bestehende OpenSearch Domain in Ihrer wiederverwenden AWS-Konto oder eine neue für Sie erstellen soll. Während der Indizierung von Ereignissen in der Suchdomäne können Sie mit Kibana Analysen für Ihre Ereignisse ausführen und visuelle Dashboards in Echtzeit aktualisieren.
Die Pipeline für das Replay von Events
Das folgende Diagramm zeigt die Pipeline für das Replay von Events
Diese Pipeline besteht aus einer SQS Amazon-Warteschlange, die die vom SNS Amazon-Thema übermittelten Ereignisse zwischenspeichert, und einer AWS Lambda Funktion, die Ereignisse aus der Warteschlange abfragt und sie in Ihre reguläre Ereignisverarbeitungspipeline zurückleitet, die auch Ihr Thema abonniert hat.
Anmerkung
Standardmäßig ist die Funktion für das erneute Abspielen deaktiviert und schiebt Ihre Ereignisse nicht erneut in die reguläre Pipeline. Wenn Sie Ereignisse erneut verarbeiten müssen, müssen Sie die SQS Amazon-Wiedergabewarteschlange als Ereignisquelle für die AWS Lambda Wiedergabefunktion aktivieren.
Bereitstellung von Event Fork-Pipelines AWS
Die AWS Event Fork Pipelines Suite
In einem Produktionsszenario empfehlen wir, AWS Event Fork-Pipelines in die Vorlage Ihrer gesamten Anwendung einzubetten. AWS SAM Mit der Funktion für verschachtelte Anwendungen können Sie dies tun, indem Sie die Ressource AWS::Serverless::Application
zu Ihrer AWS SAM Vorlage hinzufügen und dabei auf die AWS SAR ApplicationId
und die der verschachtelten Anwendung verweisen. SemanticVersion
Sie können beispielsweise die Event Storage and Backup Pipeline als verschachtelte Anwendung verwenden, indem Sie dem Resources
Abschnitt Ihrer Vorlage das folgende YAML Snippet hinzufügen. AWS SAM
Backup:
Type: AWS::Serverless::Application
Properties:
Location:
ApplicationId: arn:aws:serverlessrepo:us-east-2:123456789012:applications/fork-event-storage-backup-pipeline
SemanticVersion: 1.0.0
Parameters:
#The ARN of the Amazon SNS topic whose messages should be backed up to the Amazon S3 bucket.
TopicArn: !Ref MySNSTopic
Wenn Sie Parameterwerte angeben, können Sie AWS CloudFormation systeminterne Funktionen verwenden, um auf andere Ressourcen in Ihrer Vorlage zu verweisen. Im obigen YAML Codeausschnitt verweist der TopicArn
Parameter beispielsweise auf die AWS::SNS::Topic
Ressource, die an anderer Stelle in der MySNSTopic
Vorlage definiert wurde. AWS SAM Weitere Informationen finden Sie in der Referenz für intrinsische Funktion im AWS CloudFormation -Benutzerhandbuch.
Anmerkung
Die AWS Lambda Konsolenseite für Ihre AWS SAR Anwendung enthält die Schaltfläche Als SAM Ressource kopieren, mit der die für die Verschachtelung einer AWS SAR Anwendung YAML erforderlichen Informationen in die Zwischenablage kopiert werden.