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.
Amazon SQS: Faire Warteschlangen
Amazon SQS Fair Queues mindert automatisch die Auswirkungen von Noisy-Neighbor-Störungen in Multi-Tenant-Warteschlangen, die Nachrichten von mehreren logischen Entitäten wie Kunden, Client-Anwendungen oder Nachrichtentypen enthalten. In diesen Umgebungen mit gemeinsam genutzten Warteschlangen ist die Verweilzeit eine wichtige Leistungskennzahl. Dabei wird die Gesamtzeit gemessen, die Nachrichten von der Ankunft bis zur Verarbeitung in einer Warteschlange verbringen. Wenn ein Mandant einen Rückstand in der Warteschlange erzeugt, indem er mehr Nachrichten veröffentlicht, als das System verarbeiten kann, minimieren faire Warteschlangen die Auswirkungen auf die Verweildauer anderer Mandanten.
Stetiger Zustand
Das folgende Diagramm zeigt eine Warteschlange mit mehreren Mandanten, die Nachrichten von vier verschiedenen Mandanten (mit A, B, C und D bezeichnet) enthält. Die Warteschlange arbeitet in einem stabilen Zustand, und es gibt keinen Nachrichtenrückstand, da Verbraucher Nachrichten erhalten, sobald sie in der Warteschlange erscheinen. Alle Mieter haben geringe Verweilzeiten. In diesem stabilen Zustand sind nicht alle Verbraucherkapazitäten voll ausgelastet.

Lärmende Auswirkungen auf die Nachbarn
Störende Nebengeräusche treten auf, wenn ein Mandant in einer Warteschlange mit mehreren Mandanten einen Rückstand erzeugt, wodurch die Verweildauer der Nachrichten für alle anderen Mandanten verlängert wird. Ein Mandant kann zu einem lauten Nachbarn werden, wenn er eine größere Menge an Nachrichten sendet als andere Mieter oder wenn Verbraucher länger brauchen, um Nachrichten von diesem bestimmten Mandanten zu verarbeiten.
Dieses Diagramm zeigt, wie der erhöhte Verkehr von Mandant A zu einem Rückstau in der Warteschlange führt. Die Verbraucher sind damit beschäftigt, nur die Nachrichten von Mandant A zu verarbeiten, während Nachrichten von anderen Mandanten im Backlog warten, was zu längeren Verweilzeiten für alle Mandanten führt.

Schadensbegrenzung durch faire Warteschlangen
Amazon SQS erkennt störende Nachbarn, indem es die Nachrichtenverteilung zwischen den Mandanten während der Verarbeitung überwacht (Status „während der Übertragung“). Wenn ein Mieter im Vergleich zu anderen eine unverhältnismäßig große Anzahl an Nachrichten während des Fluges hat, identifiziert Amazon SQS diesen Mandanten als lauten Nachbarn und priorisiert die Nachrichtenzustellung für andere Mieter. Dieser Ansatz reduziert die Auswirkungen auf die Verweildauer der anderen Mieter.
Dieses Diagramm zeigt, wie Amazon SQS Fair Queues das Problem Noisy Neighbor löst. Wenn ein Mandant (Mandant A) laut wird, priorisiert Amazon SQS die Rückgabe von Nachrichten von anderen Mandanten (B, C und D). Diese Priorisierung trägt dazu bei, niedrige Verweilzeiten für stille Mieter (Mandanten B, C und D) aufrechtzuerhalten, während die Verweildauer für die Nachrichten von Mandant A erhöht wird, bis der Warteschlangenrückstand aufgebraucht ist, ohne dass andere Mieter davon betroffen sind.

Anmerkung
Amazon SQS begrenzt die Nutzungsrate pro Mandant nicht. Es ermöglicht Verbrauchern, Nachrichten von lauten Nachbarnachbarn zu empfangen, wenn genügend Kapazitäten vorhanden sind und in der Warteschlange keine weiteren Nachrichten zurückgesendet werden können. Wie Amazon SQS SQS-Standardwarteschlangen ermöglichen faire Warteschlangen einen praktisch unbegrenzten Durchsatz, und die Anzahl der Mandanten, die Sie in Ihrer Warteschlange haben könnten, ist unbegrenzt.
Unterschied zu FIFO-Warteschlangen
In den FIFO-Warteschlangen wird eine strikte Reihenfolge eingehalten, indem die Anzahl der Nachrichten während des Fluges von jedem Mandanten begrenzt wird. Dies verhindert zwar laute Nachbarn, begrenzt aber den Durchsatz für jeden Mandanten. Faire Warteschlangen sind für Szenarien mit mehreren Mandanten konzipiert, in denen ein hoher Durchsatz, eine geringe Verweildauer und eine faire Ressourcenzuweisung im Vordergrund stehen. Faire Warteschlangen ermöglichen es mehreren Verbrauchern, Nachrichten von demselben Mandanten gleichzeitig zu verarbeiten und gleichzeitig allen Mandanten dabei zu helfen, konsistente Verweilzeiten aufrechtzuerhalten.
Verwendung fairer Warteschlangen
Ihre Nachrichtenproduzenten können eine Mandanten-ID hinzufügen, indem sie eine für eine MessageGroupId
ausgehende Nachricht festlegen:
// Send message with tenant identifier SendMessageRequest request = new SendMessageRequest() .withQueueUrl(queueUrl) .withMessageBody(messageBody) .withMessageGroupId("tenant-123"); // Tenant identifier sqs.sendMessage(request);
Die Fairness-Funktion wird automatisch in allen Amazon SQS SQS-Standardwarteschlangen für Nachrichten mit der Eigenschaft angewendet. MessageGroupId Sie erfordert keine Änderung des Verbrauchercodes, sie hat keine Auswirkungen auf die API-Latenz und ist nicht mit Durchsatzbeschränkungen verbunden.
Faire Kennzahlen für Warteschlangen CloudWatch
Amazon SQS bietet zusätzliche CloudWatch Metriken, mit denen Sie die Minderung der Auswirkungen von Störgeräuschen auf Ihre Nachbarn überwachen können. Beispielsweise können Sie Approximate..InQuietGroups
Metriken mit Standardmetriken auf Warteschlangenebene vergleichen. Bei einem Anstieg des Datenverkehrs für einen bestimmten Mandanten können die allgemeinen Kennzahlen auf Warteschlangenebene auf zunehmende Rückstände oder ein älteres Nachrichtenalter hinweisen. Wenn Sie sich die stillen Gruppen jedoch isoliert ansehen, können Sie feststellen, dass die meisten nicht verrauschten Nachrichtengruppen oder Mandanten nicht betroffen sind.
Im Folgenden finden Sie ein Beispiel, bei dem die standardmäßige Queue-Backlog-Metrik (ApproximateNumberOfMessagesVisible) aufgrund eines verrauschten Mandanten zunimmt, während der Backlog für nicht laute Mandanten () niedrig bleibt. ApproximateNumberOfMessagesVisibleInQuietGroups

Eine vollständige Liste der Amazon CloudWatch SQS-Metriken und deren Beschreibungen finden Sie unter CloudWatch Metriken für Amazon SQS.