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.
Bewährte Methoden für die Brokereinrichtung und das Verbindungsmanagement in Amazon MQ für RabbitMQ
Broker-Setup und Verbindungsmanagement sind der erste Schritt, um Probleme mit dem Broker-Nachrichtendurchsatz, der Ressourcennutzung und der Fähigkeit, Produktionsworkloads zu bewältigen, zu vermeiden. Beachten Sie bei der Erstellung und Konfiguration eines Amazon MQ for RabbitMQ-Brokers die folgenden bewährten Methoden zur Auswahl geeigneter Instance-Typen, zur effizienten Verwaltung von Verbindungen und zur Konfiguration des Vorabrufs von Nachrichten, um die Leistung Ihres Brokers zu maximieren.
Wichtig
Amazon MQ for RabbitMQ unterstützt den Benutzernamen „guest“ nicht und löscht das Standard-Gastkonto, wenn Sie einen neuen Broker erstellen. Amazon MQ löscht außerdem regelmäßig alle vom Kunden erstellten Konten mit dem Namen „Gast“.
Schritt 1: Verwenden Sie Cluster-Bereitstellungen
Für Produktionsworkloads empfehlen wir die Verwendung von Clusterbereitstellungen anstelle von Einzelinstanz-Brokern, um eine hohe Verfügbarkeit und Nachrichtenstabilität zu gewährleisten. Clusterbereitstellungen beseitigen einzelne Fehlerquellen und bieten eine bessere Fehlertoleranz.
Clusterbereitstellungen bestehen aus drei RabbitMQ-Broker-Knoten, die auf drei Availability Zones verteilt sind. Sie bieten einen automatischen Failover und stellen sicher, dass der Betrieb auch dann fortgesetzt wird, wenn eine gesamte Availability Zone nicht verfügbar ist. Amazon MQ repliziert Nachrichten automatisch auf allen Knoten, um die Verfügbarkeit bei Knotenausfällen oder Wartungsarbeiten sicherzustellen.
Cluster-Bereitstellungen sind für Produktionsumgebungen unerlässlich und werden durch das Amazon MQ Service Level
Weitere Informationen finden Sie unter Cluster-Bereitstellung in Amazon MQ für RabbitMQ.
Schritt 2: Wählen Sie den richtigen Broker-Instance-Typ
Der Nachrichtendurchsatz eines Broker-Instance-Typs hängt von Ihrem Anwendungsfall ab. M7g.medium
sollte nur zum Testen der Anwendungsleistung verwendet werden. Wenn Sie diese kleinere Instanz verwenden, bevor Sie größere Instanzen in der Produktion verwenden, kann dies die Anwendungsleistung verbessern. Bei Instance-Typen m7g.large
und höher können Sie Cluster-Bereitstellungen für hohe Verfügbarkeit und Nachrichtenbeständigkeit verwenden. Größere Broker-Instance-Typen können das Produktionsniveau von Clients und Warteschlangen, einen hohen Durchsatz, Nachrichten im Speicher und redundante Nachrichten bewältigen.
Weitere Informationen zur Auswahl des richtigen Instance-Typs finden Sie in den Größenrichtlinien von Amazon MQ für RabbitMQ.
Schritt 3: Verwenden Sie Quorum-Warteschlangen
Quorum-Warteschlangen sollten bei Cluster-Bereitstellung die Standardwahl für replizierte Warteschlangentypen in Produktionsumgebungen für RabbitMQ-Broker auf Version 3.13 und höher sein. Quorum-Warteschlangen sind moderne replizierte Warteschlangenarten, die eine hohe Zuverlässigkeit, einen hohen Durchsatz und eine stabile Latenz bieten.
Quorum-Warteschlangen verwenden den Raft-Konsensusalgorithmus, um eine bessere Fehlertoleranz zu gewährleisten. Wenn der Leader-Knoten nicht mehr verfügbar ist, wählen die Quorum-Warteschlangen mit Stimmenmehrheit automatisch einen neuen Leiter, sodass die Nachrichtenzustellung mit minimaler Unterbrechung fortgesetzt wird. Da sich jeder Knoten in einer anderen Availability Zone befindet, bleibt Ihr Messaging-System auch dann verfügbar, wenn eine gesamte Availability Zone vorübergehend nicht verfügbar ist.
Um eine Quorum-Warteschlange zu deklarieren, setzen Sie den Header x-queue-type
quorum
beim Erstellen Ihrer Warteschlangen auf.
Weitere Informationen zu Quorum-Warteschlangen, einschließlich Migrationsstrategien und Best Practices, finden Sie unter Quorum-Warteschlangen in Amazon MQ für RabbitMQ.
Schritt 4: Verwenden Sie mehrere Kanäle
Verwenden Sie mehrere Kanäle über eine einzige Verbindung, um Verbindungsabwanderungen zu vermeiden. Anwendungen sollten ein Verhältnis von Verbindung zu Kanal von 1:1 vermeiden. Wir empfehlen, für jeden Prozess eine Verbindung und anschließend für jeden Thread einen Kanal zu verwenden. Vermeiden Sie eine übermäßige Kanalnutzung, um Kanallecks zu vermeiden.