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.
Hoher Durchsatz für FIFO-Warteschlangen in Amazon SQS
FIFO-Warteschlangen mit hohem Durchsatz in Amazon SQS verwalten effizient einen hohen Nachrichtendurchsatz und behalten gleichzeitig eine strikte Nachrichtenreihenfolge bei, wodurch Zuverlässigkeit und Skalierbarkeit für Anwendungen gewährleistet werden, die zahlreiche Nachrichten verarbeiten. Diese Lösung ist ideal für Szenarien, die sowohl einen hohen Durchsatz als auch eine geordnete Nachrichtenübermittlung erfordern.
Amazon SQS-FIFO-Warteschlangen mit hohem Durchsatz sind in Szenarien, in denen eine strikte Nachrichtenreihenfolge nicht entscheidend ist und in denen das Volumen eingehender Nachrichten relativ gering oder sporadisch ist, nicht erforderlich. Wenn Sie beispielsweise eine kleine Anwendung haben, die seltene oder nicht sequentielle Nachrichten verarbeitet, sind die zusätzliche Komplexität und die Kosten, die mit FIFO-Warteschlangen mit hohem Durchsatz verbunden sind, möglicherweise nicht gerechtfertigt. Wenn Ihre Anwendung die erweiterten Durchsatzfunktionen von FIFO-Warteschlangen mit hohem Durchsatz nicht benötigt, kann es außerdem kostengünstiger und einfacher zu verwalten sein, sich für eine standardmäßige Amazon SQS-Warteschlange zu entscheiden.
Um die Anforderungskapazität in FIFO-Warteschlangen mit hohem Durchsatz zu erhöhen, wird empfohlen, die Anzahl der Nachrichtengruppen zu erhöhen. Weitere Informationen zu Nachrichtenkontingenten mit hohem Durchsatz finden Sie unter Amazon-SQS-Service-Quotas im Allgemeine Amazon Web Services-Referenz.
Informationen zu Quoten pro Warteschlange und Strategien zur Datenverteilung finden Sie unter und. Amazon SQS-Nachrichtenkontingente Partitionen und Datenverteilung für hohen Durchsatz für SQS-FIFO-Warteschlangen
Anwendungsfälle für einen hohen Durchsatz für Amazon SQS FIFO-Warteschlangen
In den folgenden Anwendungsfällen werden die vielfältigen Anwendungen von FIFO-Warteschlangen mit hohem Durchsatz hervorgehoben und ihre Effektivität in allen Branchen und Szenarien unter Beweis gestellt:
-
Real-time Datenverarbeitung: Anwendungen, die mit Datenströmen in Echtzeit arbeiten, wie z. B. die Ereignisverarbeitung oder die Erfassung von Telemetriedaten, können von FIFO-Warteschlangen mit hohem Durchsatz profitieren, um den kontinuierlichen Nachrichtenfluss zu bewältigen und gleichzeitig ihre Reihenfolge für eine genaue Analyse beizubehalten.
-
E-commerce Auftragsabwicklung: Auf E-Commerce-Plattformen, auf denen die Einhaltung der Reihenfolge der Kundentransaktionen von entscheidender Bedeutung ist, stellen FIFO-Warteschlangen mit hohem Durchsatz sicher, dass Bestellungen sequentiell und ohne Verzögerungen verarbeitet werden, selbst in der Hauptsaison.
-
Finanzdienstleistungen: Finanzinstitute, die Hochfrequenzhandels- oder Transaktionsdaten verarbeiten, verlassen sich auf FIFO-Warteschlangen mit hohem Durchsatz, um Marktdaten und Transaktionen mit minimaler Latenz zu verarbeiten und gleichzeitig die strengen regulatorischen Anforderungen für die Nachrichtenbestellung einzuhalten.
-
Medienstreaming: Streaming-Plattformen und Medienverteilungsdienste verwenden FIFO-Warteschlangen mit hohem Durchsatz, um die Bereitstellung von Mediendateien und Streaming-Inhalten zu verwalten und so den Benutzern eine reibungslose Wiedergabe zu gewährleisten und gleichzeitig die korrekte Reihenfolge der Inhaltsbereitstellung beizubehalten.
Partitionen und Datenverteilung für hohen Durchsatz für SQS-FIFO-Warteschlangen
Amazon SQS speichert FIFO-Warteschlangendaten in Partitionen. Eine Partition ist eine Speicherzuweisung für eine Warteschlange, die automatisch auf mehrere Availability Zones innerhalb einer Region repliziert wird. AWS Sie verwalten keine Partitionen. Stattdessen kümmert sich Amazon SQS um die Partitionsverwaltung.
Für FIFO-Warteschlangen ändert Amazon SQS die Anzahl der Partitionen in einer Warteschlange in den folgenden Situationen:
-
Wenn sich die aktuelle Anforderungsrate dem, was die vorhandenen Partitionen unterstützen können, nähert oder dies übersteigt, werden zusätzliche Partitionen zugewiesen, bis die Warteschlange das regionale Kontingent erreicht hat. Informationen zu Kontingenten finden Sie unter Amazon SQS-Nachrichtenkontingente.
-
Wenn die aktuellen Partitionen wenig ausgelastet sind, kann die Anzahl der Partitionen reduziert werden.
Die Partitionsverwaltung wird automatisch im Hintergrund ausgeführt und ist für Ihre Anwendungen transparent. Ihre Warteschlange und Ihre Nachrichten sind jederzeit verfügbar.
Verteilen von Daten nach Nachrichtengruppen-IDs
Um eine Nachricht zu einer FIFO-Warteschlange hinzuzufügen, verwendet Amazon SQS den Wert der Nachrichtengruppen-ID jeder Nachricht als Eingabe für eine interne Hash-Funktion. Der Ausgabewert der Hash-Funktion bestimmt die Partition, in der die Nachricht gespeichert wird.
Das folgende Diagramm zeigt eine Warteschlange, die sich über mehrere Partitionen erstreckt. Die Nachrichtengruppen-ID der Warteschlange basiert auf der Elementnummer. Amazon SQS verwendet eine Hash-Funktion, um zu ermitteln, wo ein neues Element gespeichert werden soll, und zwar in diesem Fall basierend auf dem Hash-Wert der Zeichenfolge item0. Beachten Sie, dass die Elemente in derselben Reihenfolge gespeichert werden, in der sie der Warteschlange hinzugefügt werden. Die Position jedes einzelnen Elements wird durch den Hash-Wert seiner Nachrichtengruppen-ID bestimmt.
Anmerkung
Amazon SQS ist für die gleichmäßige Verteilung von Elementen auf die Partitionen einer FIFO-Warteschlange optimiert, unabhängig von der Anzahl der Partitionen. AWS empfiehlt, Nachrichtengruppen-IDs zu verwenden, die eine große Anzahl unterschiedlicher Werte haben können.
Optimierung der Partitionsnutzung
Jede Partition unterstützt bis zu 3 000 Nachrichten pro Sekunde bei Stapelverarbeitung oder bis zu 300 Nachrichten pro Sekunde bei Sende-, Empfangs- und Löschvorgängen in unterstützten Regionen. Weitere Informationen zu Nachrichtenkontingenten mit hohem Durchsatz finden Sie unter Amazon-SQS-Service-Quotas im Allgemeine Amazon Web Services-Referenz.
Bei der Verwendung von Stapel-APIs wird jede Nachricht auf der Grundlage des unter Verteilen von Daten nach Nachrichtengruppen-IDs beschriebenen Prozesses weitergeleitet. Nachrichten, die an dieselbe Partition weitergeleitet werden, werden in einer einzigen Transaktion gruppiert und verarbeitet.
Um die Partitionsnutzung für die SendMessageBatch API zu optimieren, AWS empfiehlt, wenn möglich, Nachrichten mit denselben Nachrichtengruppen-IDs zu stapeln.
Um die Partitionsauslastung für die ChangeMessageVisibilityBatch APIs DeleteMessageBatch und zu optimieren, AWS empfiehlt es sich, ReceiveMessage Anfragen zu verwenden, deren MaxNumberOfMessages Parameter auf 10 gesetzt ist, und die von einer einzelnen Anfrage zurückgegebenen Empfangs-Handles zu stapeln. ReceiveMessage
Im folgenden Beispiel wird ein Stapel von Nachrichten mit unterschiedlichen Nachrichtengruppen-IDs gesendet. Der Stapel ist in drei Gruppen aufgeteilt, von denen jede auf das Kontingent für die Partition angerechnet wird.
Anmerkung
Amazon SQS garantiert nur, dass Nachrichten mit der internen Hash-Funktion derselben Nachrichtengruppen-ID innerhalb einer Stapelanfrage gruppiert werden. Abhängig von der Ausgabe der internen Hash-Funktion und der Anzahl der Partitionen können Nachrichten mit unterschiedlichen Nachrichtengruppen-IDs gruppiert werden. Da sich die Hash-Funktion oder die Anzahl der Partitionen jederzeit ändern kann, können Nachrichten, die an einem Punkt gruppiert sind, später möglicherweise nicht gruppiert werden.