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.
Was ist 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.
Themen
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. Standardwarteschlangen unterstützen die at-least-once Nachrichtenzustellung, und FIFO-Warteschlangen unterstützen die Verarbeitung von Nachrichten genau einmal und den Modus mit hohem Durchsatz.
-
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 der Nachrichten mit mehr als 256 KB mithilfe von Amazon Simple Storage Service (Amazon S3) oder Amazon DynamoDB speichern, wobei Amazon SQS einen Verweis auf das Amazon-S3-Objekt enthält. Sie können große Nachrichten auch in kleinere Nachrichten aufteilen.
Grundlegende Amazon-SQS-Architektur
In diesem Abschnitt werden die Teile eines verteilten Messaging-Systems aufgeführt. Zudem wird der Lebenszyklus einer Amazon-SQS-Nachricht erläutert.
Verteilte Warteschlangen
Es gibt drei Hauptkomponenten in einem verteilten Messaging-System: die Komponenten Ihres verteilten Systems, Ihre Warteschlange (auf Amazon-SQS-Server verteilt) und die 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 Produzent (Komponente 1) sendet Nachricht A an eine Warteschlange und die Nachricht wird redundant über die Amazon-SQS-Server verteilt.
Wenn ein Konsument (Komponente 2) bereit ist, Nachrichten zu verarbeiten, werden Nachrichten aus der Warteschlange konsumiert 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 Konsument (Komponente 2) löscht Nachricht A aus der Warteschlange, um zu verhindern, dass die Nachricht nach Ablauf der Zeitbeschränkung für die Sichtbarkeit erneut empfangen und verarbeitet wird.
Anmerkung
Amazon SQS löscht Nachrichten automatisch, die sich länger als den maximalen Aufbewahrungszeitraum für Nachrichten in einer Warteschlange befunden haben. 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 Warteschlangenservice. 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, das
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, in denen sofortige Benachrichtigungen erforderlich sind, z. B. für Benutzerinteraktionen in Echtzeit oder Alarmsysteme. Um Nachrichtenverlust zu verhindern, wenn Abonnenten offline sind, sorgt die Integration von Amazon SNS mit Amazon SQS SQS-Warteschlangennachrichten für 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
Die folgende Tabelle bietet einen Überblick über die Ressourcentypen der einzelnen Dienste:
Ressourcentyp | Amazon SNS | Amazon SQS | Amazon MQ |
---|---|---|---|
Synchron | Nein | Nein | Ja |
Asynchron | Ja | Ja | Ja |
Warteschlangen | Nein | Ja | Ja |
Messaging zwischen Publisher und Subscriber | 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 aufgrund ihrer pay-as-you-go Preisgestaltung im Allgemeinen kostengünstigere Lösungen für großvolumige Anwendungen. 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 ( OpenWireSTOMP) angewiesen sind.