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
-
Sicherheit – Sie 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.
Lebenszyklus einer Nachricht
Das folgende Szenario stellt den Lebenszyklus einer Amazon-SQS-Nachricht in einer Warteschlange von der Erstellung zur Löschung dar.
Ein Producer (Komponente 1) sendet Nachricht A an eine Warteschlange, und die Nachricht wird redundant auf die Amazon SQS-Server verteilt.
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.
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
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
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/
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