Amazon Simple Queue Service (Amazon SQS) bietet eine zuverlässige, hochskalierbare, gehostete Warteschlange zum Speichern von Mitteilungen, während diese zwischen Computern weitergeleitet werden. Mit Amazon SQS können Entwickler auf einfache Weise Daten zwischen verteilten Komponenten ihrer Anwendungen, die verschiedene Aufgaben ausführen, verschieben. Dabei gehen keine Mitteilungen verloren und es muss nicht jede Komponente stets verfügbar sein. Amazon SQS vereinfacht das Erstellen eines automatisierten Workflows und arbeitet eng mit Amazon Elastic Compute Cloud (Amazon EC2) und den anderen AWS-Infrastruktur-Web-Services zusammen.
Amazon SQS funktioniert durch die Offenlegung der weboptimierten Mitteilungs-Infrastruktur von Amazon als Web-Service. Jeder Computer mit Verbindung ins Internet kann Mitteilungen hinzufügen oder lesen, ohne dass dafür Software installiert oder die Firewall speziell konfiguriert werden muss. Komponenten von Anwendungen, die Amazon SQS verwenden, können unabhängig ausgeführt werden und müssen sich nicht im selben Netzwerk befinden, mit denselben Technologien entwickelt worden sein oder zur selben Zeit ausgeführt werden.
- Eine Warteschlange kann in 7 Regionen erstellt werden: USA Ost (Nord-Virginia), USA West (Oregon), USA West (Nordkalifornien), EU (Irland), Asien-Pazifik (Singapur), Asien-Pazifik (Tokio) und Südamerika (Sao Paulo).
- Die Nachricht kann bis zu 64 KB groß sein und Text in einem beliebigen Format enthalten.
- Nachrichten können bis zu 14 Tage in Warteschlangen verbleiben.
- Mitteilungen können gleichzeitig gesendet und gelesen werden.
Amazon SQS bietet einen erheblichen Vorteil gegenüber komplexen selbst entwickelten Mitteilungsverarbeitungssystemen oder den laufenden Ausgaben für lizenzierte oder gehostete Systeme.
Zuverlässig – Amazon SQS wird in den hochverfügbaren Rechenzentren von Amazon ausgeführt, sodass Warteschlangen immer verfügbar sind, wenn sie von Anwendungen benötigt werden. Damit keine Mitteilungen verloren gehen oder nicht mehr verfügbar sind, werden alle Mitteilungen redundant auf mehreren Servern und in mehreren Rechenzentren gespeichert.
Einfach – Entwickler benötigen nur fünf APIs, um mit Amazon SQS loslegen zu können: CreateQueue, SendMessage, ReceiveMessage, ChangeMessageVisibility und DeleteMessage. Weitere APIs sind für erweiterte Funktionen verfügbar.
Skalierbar – Amazon SQS ist so konstruiert, dass eine unbegrenzte Anzahl von Computern jederzeit eine unbegrenzte Anzahl von Mitteilungen lesen und schreiben kann.
Sicher – Authentifizierungsmechanismen sorgen dafür, dass in Amazon-SQS-Warteschlangen gespeicherte Mitteilungen vor unautorisiertem Zugriff geschützt sind.
Kostengünstig – Keine Vorab- oder Fixkosten. Für das Senden von Mitteilungen durch Amazon SQS fallen nur Kosten in Form von geringen Gebühren pro verarbeiteter Anfrage sowie Datenübertragungsgebühren an.
Amazon SQS kann sowohl mit Amazon EC2 als auch mit Amazon S3 und Amazon SimpleDB verwendet werden, um Anwendungen flexibler und skalierbarer zu machen. Ein üblicher Anwendungsfall ist das Erstellen eines integrierten und automatisierten Workflows, bei dem mehrere Komponenten oder Module miteinander kommunizieren müssen, jedoch nicht alle dieselbe Menge Arbeit gleichzeitig verarbeiten können. In diesem Fall enthalten die SQS-Warteschlangen Mitteilungen, die in geordneter Reihenfolge durch die auf den Amazon EC2-Instanzen ausgeführte Anwendung des Benutzers verarbeitet werden. Die Amazon EC2 Instanzen können die Warteschlange lesen, die Aufgabe verarbeiten und anschließend die Ergebnisse als Mitteilungen an eine andere SQS-Warteschlange weitergeben (etwa für die weitere Verarbeitung durch eine andere Anwendung). Da Amazon EC2 die dynamische Skalierung von Anwendungen nach oben und nach unten zulässt, können Anwendungsentwickler die Anzahl der Recheninstanzen einfach anhand der Arbeitsmenge in den SQS-Warteschlangen variieren, um sicherzustellen, dass Aufgaben in einem angemessenen Zeitraum ausgeführt werden.
Ein Beispiel: Eine Videoumschlüsselungs-Website verwendet Amazon EC2, Amazon SQS, Amazon S3 und Amazon SimpleDB gemeinsam. Endanwender übertragen Videos zur Umschlüsselung an die Website. Die Videos werden in Amazon S3 gespeichert und eine Mitteilung (die Anforderungsmitteilung) wird in einer Amazon-SQS-Warteschlange (die Eingangswarteschlange) mit einem Pointer auf das Video und auf das Zielformat des Videos in der Mitteilung abgelegt. Die auf einem Verbund aus Amazon EC2 Instances ausgeführte Umschlüsselungs-Engine liest die Anforderungsmitteilung aus der Eingangswarteschlange, ruft die Videos mithilfe des Pointers von Amazon S3 ab und schlüsselt das Video in das Zielformat um. Das konvertierte Video wird zurück in Amazon S3 abgelegt und eine andere Mitteilung (die Antwortmitteilung) wird in einer anderen Amazon SQS-Warteschlange (der Ausgangswarteschlange) mit einem Pointer auf das konvertierte Video platziert. Gleichzeitig können Metadaten zum Video (z. B. Format, Erstellungsdatum und Länge) zur leichten Abfragedurchführung in Amazon SimpleDB indiziert werden. Während dieses ganzen Ablaufs kann eine dedizierte Amazon EC2 Instance durchgängig die Eingangswarteschlange überwachen und, basierend auf der Anzahl der Mitteilungen in der Eingangswarteschlange, die Anzahl der umschlüsselnden Amazon EC2 Instances dynamisch anpassen, um den Kundenanforderungen bezüglich der Reaktionszeit gerecht zu werden.
Zahlen Sie nur für das, was Sie auch tatsächlich nutzen. Es gibt keine Mindestgebühr. Kalkulieren Sie Ihre voraussichtliche Monatsrechnung mit AWS Einfacher Monatsrechner.
Im Folgenden werden Amazon SQS-Anfragen aufgeführt: CreateQueue, ListQueues, DeleteQueue, SendMessage, SendMessageBatch, ReceiveMessage, ChangeMessageVisibility, ChangeMessageVisibilityBatch, DeleteMessage, DeleteMessageBatch, SetQueueAttributes, GetQueueAttributes, GetQueueUrl, AddPermission und RemovePermission.
Die folgenden Preise basieren auf von Amazon SQS eingehenden und ausgehenden Datenübertragungen.
"Eingehende" und "ausgehende" Datenübertragung bezieht sich auf die Übertragung nach und von Amazon SQS. Datenübertragungen zwischen Amazon SQS und Amazon EC2 innerhalb einer Region sind kostenfrei (d. h. 0,00 USD pro GB). Datenübertragungen zwischen Amazon SQS und Amazon EC2 in verschiedenen Regionen werden auf beiden Seiten der Übertragung zu den Tarifen der Internet-Datenübertragung berechnet.
* Ihre kostenlose Nutzung wird jeden Monat über alle Regionen berechnet und automatisch in die Rechnung einbezogen – kostenlose Nutzung kann nicht akkumuliert werden.** Im Rahmen des kostenlosen Nutzungskontingents für AWS erhalten neue AWS Kunden für ein Jahr kostenfrei 15 GB ausgehenden Datenverkehr pro Monat, aggregiert über alle AWS Dienste.*** Die Kosten für ausgehende Datenübertragung beinhalten die ausgehenden Datenübertragungen auf Amazon EC2, Amazon S3, Amazon RDS, Amazon SimpleDB, Amazon SQS, Amazon SNS, Amazon DynamoDB, AWS Storage Gateway und Amazon VPC.
| Entwicklerressourcen |
Amazon SQS kann einfach über die AWS Management Console aufgerufen werden, mit der Benutzer eine webbasierte Point-and-Click-Oberfläche zur Einrichtung und Verwaltung von Amazon SQS erhalten.
Amazon SQS verwendet eine benutzerfreundliche und äußerst flexible Schnittstelle. Folgende Anfragen stehen zur Verfügung:
In Amazon SQS gespeicherte Mitteilungen haben einen Zyklus, der leicht zu verwalten ist und dabei sicherstellt, dass alle Mitteilungen verarbeitet werden.
Die aktuelle Version von Amazon SQS ist WSDL Version 2011-10-01. Die vorherige Version lautet WSDL Version 2009-02-01, die rückwärts kompatibel ist mit WSDL 2008-01-01. Wie im Februar 2008 angekündigt, sind die WSDL-Versionen 2007-05-01 und 2006-04-01 jetzt veraltet. Es sind keine neuen Benutzer mehr für diese Versionen zugelassen. Sie sollten die Anwendungen so schnell wie möglich auf eine unterstützte Amazon-SQS-WSDL-Version migrieren.
Beachten Sie, dass einige Bibliotheken und Anwendungen weiterhin basierend auf den Vorgängerversionen (2007-05-01 oder 2006-04-01) erstellt werden können. Wenn Sie eine Bibliothek oder Anwendung nutzen, die Amazon SQS verwendet, wenden Sie sich bitte an den Betreiber, um die verwendete Version des Dienstes in Erfahrung zu bringen.
Die Verwendung dieser Dienstleistung unterliegt der Kundenvereinbarung von Amazon Web Services.