Amazon SQS - the nitty-gritty

Amazon bietet mit SQS einen Warteschlangen-Kommunikationsdienst an, der es Anwendungen ermöglicht asynchron miteinander zu kommunizieren. Nachrichten können eine maximale Größe von 64 KB besitzen. Diese werden zur Warteschlange hinzugefügt. Jede Warteschlage wird über mehrere Datenzentren verteilt repliziert. Nachrichten werden via HTTP gesendet und die Zustellung erfolgt über eine “At least one” Semantik an mindestens einen Empfänger. Die Nachrichten selbst werden über Polling empfangen. Da die Daten asynchron repliziert werden, ist es möglich, dass ein Empfänger nicht alle Nachrichten bekommt die an eine Warteschlange gesendet werden. Ferner ist es möglich, dass die Nachrichten in einer anderen Reihenfolge ankommen oder mehr als einmal zugestellt werden. Daher muss die Logik der Warteschlange sowohl idempotent als auch unabhängig von der Nachrichtenreihenfolge. Sobald eine Nachricht von einem Empfänger angenommen worden ist, wird die Nachricht für einen kleinen Zeitraum versteckt, damit andere Empfänger diese nicht sehen können. Der Empfänger kann die Nachricht dann verarbeiten und sie im Anschluss von der Warteschlange endgültig entfernen. Wenn das Entfernen jedoch nicht innerhalb der versteckten Nachrichtenzeitspanne erfolgen sollte, so wird die Nachricht für alle wieder sichtbar und wird dann von dem nächsten Empfänger angenommen. Der Dienst ist skalierter bis zu Millionen von Nachrichten pro Tag und realisiert eine FIFO (First In - First Out) Warteschlange.

Technology Evangelist Developer
Research Engineer Strategist
Trainer
Platform Architect
{Mobile, Cloud & Grid}

view archive