View a markdown version of this page

What is Amazon Simple Queue Service? - Amazon Simple Queue 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.

What is Amazon Simple Queue Service?

Amazon Simple Queue Service (Amazon SQS) bietet eine sichere, dauerhafte und verfügbare gehostete Warteschlange, die es Ihnen ermöglicht, verteilte Softwaresysteme und -komponenten zu integrieren und zu entkoppeln. Amazon SQS bietet gängige Konstrukte, wie z. B. Warteschlangen für unzustellbare Nachrichten und Kostenzuordnungs-Tags. Es bietet eine generische Webservice-API, auf die Sie mit jeder vom AWS SDK unterstützten Programmiersprache zugreifen können.

Vorteile der Verwendung von Amazon SQS

  • SicherheitSie steuern, wer Mitteilungen an eine Warteschlange senden und Mitteilungen von einer Amazon-SQS-Warteschlange empfangen darf. Sie können wählen, ob Sie vertrauliche Daten übertragen möchten, indem Sie den Inhalt von Nachrichten in Warteschlangen schützen, indem Sie die standardmäßige serverseitige Verschlüsselung (SSE) von Amazon SQS oder benutzerdefinierte SSE-Schlüssel verwenden, die in AWS Key Management Service (AWS KMS) verwaltet werden.

  • Dauerhaftigkeit – Um die Sicherheit Ihrer Nachrichten zu gewährleisten, speichert Amazon SQS sie auf mehreren Servern. Standard-Warteschlangen unterstützen die mindestens einmalige Nachrichtenübermittlung, während FIFO-Warteschlangen die genau einmalige Verarbeitung von Nachrichten und den Hochdurchsatz-Modus unterstützen.

  • Verfügbarkeit – Amazon SQS verwendet eine redundante Infrastruktur für den simultanen Zugriff auf Nachrichten und hohe Verfügbarkeit zum Erstellen und Verwenden von Nachrichten.

  • Skalierbarkeit – Amazon SQS kann jede gepufferte Anfrage unabhängig verarbeiten und transparent skalieren, um sämtliche zunehmenden Lasten oder Spitzen ohne Bereitstellungsanweisungen zu verarbeiten.

  • Zuverlässigkeit – Amazon SQS sperrt Ihre Nachrichten während der Verarbeitung, damit mehrere Produzenten und mehrere Konsumenten Nachrichten gleichzeitig senden und empfangen können.

  • Anpassung – Ihre Warteschlangen müssen nicht genau übereinstimmen, sie können z. B. Standardverzögerung für eine Warteschlange festlegen. Sie können den Inhalt von Nachrichten, die größer als 1 MiB sind, mithilfe von Amazon Simple Storage Service (Amazon S3) oder Amazon DynamoDB speichern, wobei Amazon SQS einen Zeiger auf das Amazon S3-Objekt hält, oder Sie können eine große Nachricht in kleinere Nachrichten aufteilen.

Grundlegende Amazon-SQS-Architektur

In diesem Abschnitt werden die Komponenten eines verteilten Nachrichtensystems beschrieben und der Lebenszyklus einer Amazon SQS-Nachricht erklärt.

Verteilte Warteschlangen

Ein verteiltes Nachrichtensystem besteht aus drei Hauptteilen: den Komponenten Ihres verteilten Systems, Ihrer Warteschlange (verteilt auf Amazon SQS-Servern) und den Nachrichten in der Warteschlange.

Im folgenden Szenario hat Ihr System mehrere Produzenten (Komponenten, die Nachrichten an die Warteschlange senden) und Konsumenten (Komponenten, die Nachrichten aus der Warteschlange empfangen). Die Warteschlange (die die Nachrichten A bis E enthält) speichert die Nachrichten redundant auf mehreren Amazon-SQS-Servern.

Ein verteiltes Nachrichtensystem besteht aus drei Hauptteilen: den Komponenten Ihres verteilten Systems, Ihrer Warteschlange (verteilt auf Amazon SQS-Servern) und den Nachrichten in der Warteschlange.

Lebenszyklus einer Nachricht

Das folgende Szenario stellt den Lebenszyklus einer Amazon-SQS-Nachricht in einer Warteschlange von der Erstellung zur Löschung dar.

Der Lebenszyklus einer Amazon SQS-Nachricht in einer Warteschlange, von der Erstellung bis zum Löschen.

Section one description for the previous lifecycle diagram. Ein Producer (Komponente 1) sendet Nachricht A an eine Warteschlange, und die Nachricht wird redundant auf die Amazon SQS-Server verteilt.

Section two description for the previous lifecycle diagram. Wenn ein Verbraucher (Komponente 2) bereit ist, Nachrichten zu verarbeiten, verbraucht er Nachrichten aus der Warteschlange und Nachricht A wird zurückgegeben. Während Nachricht A verarbeitet wird, verbleibt sie in der Warteschlange und wird während der Zeitbeschränkung für die Sichtbarkeit nicht an nachfolgende Empfangsanforderungen zurückgegeben.

Section three description for the previous lifecycle diagram. Der Verbraucher (Komponente 2) löscht Nachricht A aus der Warteschlange, um zu verhindern, dass die Nachricht nach Ablauf des Sichtbarkeits-Timeouts erneut empfangen und verarbeitet wird.

Anmerkung

Amazon SQS löscht automatisch Nachrichten, die sich länger als die maximale Nachrichtenaufbewahrungsdauer in einer Warteschlange befanden. Der Standardaufbewahrungszeitraum für Nachrichten beträgt 4 Tage. Sie können jedoch den Aufbewahrungszeitraum für Nachrichten mit der Aktion SetQueueAttributes von 60 Sekunden auf 1.209.600 Sekunden (14 Tage) festlegen.

Unterschiede zwischen Amazon SQS, Amazon MQ und Amazon SNS

Amazon SQS, Amazon SNS und Amazon MQ bieten hochgradig skalierbare und benutzerfreundliche Managed Messaging-Dienste, die jeweils für bestimmte Rollen in verteilten Systemen konzipiert sind. Hier finden Sie eine erweiterte Übersicht über die Unterschiede zwischen diesen Diensten:

Amazon SQS entkoppelt und skaliert verteilte Softwaresysteme und Komponenten als Warteschlangendienst. Es verarbeitet Nachrichten in der Regel über einen einzigen Abonnenten. Dies ist ideal für Workflows, bei denen Ordnung und Verlustprävention von entscheidender Bedeutung sind. Für eine breitere Verbreitung ermöglicht die Integration von Amazon SQS mit Amazon SNS ein Fanout-Messaging-Muster, wodurch Nachrichten effektiv an mehrere Abonnenten gleichzeitig weitergeleitet werden.

Amazon SNS ermöglicht es Verlagen, Nachrichten über Themen, die als Kommunikationskanäle dienen, an mehrere Abonnenten zu senden. Abonnenten erhalten veröffentlichte Nachrichten über einen unterstützten Endpunkttyp wie Amazon SQS Amazon Data Firehose, Lambda, HTTP, E-Mail, mobile Push-Benachrichtigungen und mobile Textnachrichten (SMS). Dieser Service ist ideal für Szenarien, die sofortige Benachrichtigungen erfordern, wie z. B. Benutzerinteraktionen in Echtzeit oder Alarmsysteme. Um Nachrichtenverluste zu verhindern, wenn Abonnenten offline sind, gewährleistet die Integration von Amazon SNS mit Amazon SQS-Warteschlangennachrichten eine konsistente Zustellung.

Amazon MQ eignet sich am besten für Unternehmen, die von herkömmlichen Message-Brokern migrieren möchten. Es unterstützt Standard-Messaging-Protokolle wie AMQP und MQTT sowie Apache ActiveMQ und RabbitMQ. http://activemq.apache.org/ https://www.rabbitmq.com/ Es bietet Kompatibilität mit älteren Systemen, die ein stabiles, zuverlässiges Messaging ohne wesentliche Neukonfiguration benötigen.

Die folgende Tabelle bietet einen Überblick über den Ressourcentyp der einzelnen Dienste:

Ressourcentyp Amazon SNS Amazon SQS Amazon MQ
Synchron Nein Nein Ja
Asynchron Ja Ja Ja
Queues (Warteschlangen) Nein Ja Ja
Publisher-subscriber Nachrichtenübermittlung Ja Nein Ja
Message Broker Nein Nein Ja

Wir empfehlen Amazon SQS und Amazon SNS für neue Anwendungen, die von praktisch unbegrenzter Skalierbarkeit und einfacher APIs profitieren können. Sie bieten in der Regel kostengünstigere Lösungen für großvolumige Anwendungen mit nutzungsbasierter Bezahlung. Wir empfehlen Amazon MQ für die Migration von Anwendungen von bestehenden Message-Brokern, die auf Kompatibilität mit APIs wie JMS oder Protokollen wie Advanced Message Queuing Protocol (AMQP), MQTT und Simple Text Oriented Message Protocol (STOMP) angewiesen sind. OpenWire