Was ist 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.

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.

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. 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.

Drei Hauptbestandteile eines verteilten Messaging-Systems: die Komponenten Ihres verteilten Systems, Ihre Warteschlange (auf Amazon SQS-Servern verteilt) und die 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 SQS-Nachricht in einer Warteschlange, von der Erstellung bis zum Löschen.

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

Section two description for the previous lifecycle diagram. 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.

Section three description for the previous lifecycle diagram. 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 und Amazon MQ bieten hoch skalierbare und easy-to-use verwaltete Messaging-Dienste, die jeweils für bestimmte Rollen innerhalb verteilter Systeme konzipiert sind. Hier finden Sie einen erweiterten Überblick über die Unterschiede zwischen diesen Diensten:

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 Nachrichten effektiv an mehrere Abonnenten gleichzeitig weiterleitet.

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 ActiveMQ und RabbitMQ. Es bietet Kompatibilität mit älteren Systemen, die ein stabiles, zuverlässiges Messaging benötigen, ohne dass eine umfangreiche Neukonfiguration erforderlich ist.

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.