Definition

Amazon Simple Queue Service (SQS)

Amazon Simple Queue Service (SQS) ist ein gemanagter Service für Nachrichtenwarteschlangen, der von IT-Spezialisten und Entwicklern zum asynchronen Senden, Speichern und Abrufen mehrerer Nachrichten unterschiedlicher Größe verwendet wird.

Der Service ermöglicht es Benutzern, einzelne Microservices, verteilte Systeme und serverlose Anwendungen voneinander zu entkoppeln und zu skalieren, ohne dass der Benutzer seine eigenen Nachrichtenwarteschlangen einrichten und pflegen muss.

Wie wird Amazon SQS verwendet?

Entwickler können Amazon SQS nutzen, um Nachrichten zwischen verschiedenen Softwarekomponenten sicher auszutauschen. Amazon SQS bietet eine Standard-Webservices-Programmierschnittstelle (API), auf die Benutzer über gängige Programmiersprachen zugreifen können.

Amazon SQS unterstützt Aufgaben, die asynchron ablaufen. Das bedeutet, dass eine einzelne Anwendung eine andere nicht direkt aufrufen muss, sondern einfach eine Nachricht in eine Warteschlange schicken kann, wo sie wartet. Andere Anwendungen können dann später auf die Nachricht zugreifen.

Es gibt zwei Arten von SQS-Warteschlangen: First-in, First-out (FIFO) und Standardwarteschlangen. In FIFO-Warteschlangen bleiben die Nachrichten-Strings in der gleichen Reihenfolge, in der die ursprünglichen Nachrichten gesendet und empfangen wurden. FIFO-Warteschlangen unterstützen bis zu 300 Sende-, Empfangs- oder Löschnachrichten pro Sekunde. Sie sind für den Nachrichtenaustausch zwischen Anwendungen konzipiert, bei denen die Reihenfolge der Vorgänge und Ereignisse entscheidend ist.

Standardwarteschlangen versuchen, Nachrichten-Strings in der gleichen Reihenfolge zu halten, in der sie ursprünglich gesendet wurden, aber die Verarbeitungsanforderungen können die ursprüngliche Reihenfolge oder Sequenz der Nachrichten ändern. So können Standardwarteschlangen zum Beispiel dazu verwendet werden, Nachrichten für die spätere Verarbeitung zu stapeln oder Aufgaben mehreren Knoten zuzuweisen.

Die Häufigkeit der Nachrichtenzustellung unterscheidet sich zwischen Standard- und FIFO-Warteschlangen, da FIFO-Nachrichten genau einmal zugestellt werden, während bei Standardwarteschlangen die Nachrichten mindestens einmal zugestellt werden.

Welche Vorteile hat Amazon SQS gegenüber anderen Systemen?

Die Entwicklung von Software zur Verwaltung von Nachrichtenwarteschlangen erfordert fortgeschrittene Entwicklungskenntnisse. Es gibt zwar vorgefertigte Optionen, aber diese erfordern möglicherweise eine Vorabentwicklung und -konfiguration. Diese Alternativen erfordern außerdem eine kontinuierliche Investition in Hardwarewartung und Systemadministrationsressourcen sowie redundanten Speicher für den Fall eines Hardwareausfalls. Mit Amazon SQS können Benutzer diese Probleme umgehen, da der zusätzliche Zeit- und Ressourcenbedarf entfällt.

Amazon SQS bietet dank seiner Fähigkeit, die verschiedenen Komponenten jeder Anwendung zu entkoppeln, Hochleistungsstandards. Jede Komponente läuft unabhängig von den anderen – und fällt auch unabhängig aus. Dies erhöht die Gesamtstabilität und Fehlertoleranz des Systems.

Amazon SQS-Warteschlangen müssen nicht identisch sein. Ein Benutzer kann zum Beispiel eine Standardverzögerung für eine bestimmte Warteschlange festlegen. Es gibt auch Optionen, mit denen Benutzer den Inhalt von Nachrichten ab einer bestimmten Größe mit Amazon Simple Storage Service oder Amazon DynamoDB speichern können. Größere Nachrichten können auch in eine Reihe kleinerer Nachrichten aufgeteilt werden.

Wie lange können Nachrichten in Amazon SQS aufbewahrt werden?

Amazon SQS-Nachrichten können über einen längeren Zeitraum aufbewahrt werden. Dies ermöglicht längere Intervalle zwischen dem Zeitpunkt, an dem Nachrichten erzeugt werden, und dem Zeitpunkt, an dem sie schließlich in der Warteschlange abgeholt und verarbeitet werden.

Die Aufbewahrungszeit für Amazon SQS-Nachrichten kann zwischen einer Minute und 14 Tagen eingestellt werden. Die Standardeinstellung des Systems ist vier Tage. Die Nachrichten werden automatisch gelöscht, sobald die Frist für die Nachrichtenaufbewahrung erreicht ist.

Welche Größenbeschränkungen gibt es für Amazon SQS?

Es gibt keine Begrenzung für die Anzahl der Nachrichten, die eine einzelne Amazon SQS-Nachrichtenwarteschlange enthalten kann. Das System hat jedoch unterschiedliche Quoten für eingehende Nachrichten für seine zwei verschiedenen Warteschlangentypen. Eine Nachricht gilt als inflight, wenn eine verarbeitende Komponente sie aus der Warteschlange erhalten hat, sie aber noch nicht aus der Warteschlange gelöscht wurde. Amazon SQS erlaubt 120.000 Inflight-Nachrichten in Standardwarteschlangen und 20.000 für Nachrichten in FIFO-Warteschlangen. Es gibt keine Begrenzung für die Anzahl der Nachrichtenwarteschlangen, die ein Benutzer erstellen kann, aber der Name der Nachrichtenwarteschlange darf nicht länger als 80 Zeichen sein.

Der Name einer Nachrichtenwarteschlange muss innerhalb eines bestimmten AWS-Kontos und einer Region exklusiv sein. Sobald ein Benutzer eine Nachrichtenwarteschlange löscht, kann er ihren Namen jedoch wiederverwenden.

Sicherheit und Konformität

Entwickler können serverseitige Verschlüsselung nutzen, um vertrauliche oder sensible Daten sicher zwischen Anwendungen zu senden und zu empfangen. Der AWS Key Management Service zeichnet jede Verwendung von Verschlüsselungsschlüsseln auf und protokolliert dies in AWS CloudTrail. Dadurch wird sichergestellt, dass der Benutzer die Vorschriften zur Datenverwaltung einhält.

Preise und Kompatibilität

Für Amazon SQS fallen keine Vorabkosten an, und es ist nicht erforderlich, eine unterstützende Infrastruktur zu kaufen, bereitzustellen, aufzubauen oder zu warten. Die Preisstruktur von Amazon SQS ist nutzungsbasiert, was zu erheblichen Kosteneinsparungen im Vergleich zu selbstverwalteten Messaging-Middleware-Alternativen auf dem Markt führen kann, bei denen die Preise immer gleich bleiben.

Mit dem AWS Free Tier können Amazon SQS-Benutzer jeden Monat bis zu 1 Million Amazon SQS-Anforderungen kostenlos durchführen.

Amazon SQS ist mit vielen anderen AWS-Produkten kompatibel, darunter Amazon Relational Database Service, Amazon Elastic Compute Cloud und Amazon Simple Storage Service.

Diese Definition wurde zuletzt im Juni 2022 aktualisiert

Erfahren Sie mehr über Cloud Computing