View a markdown version of this page

Bewährte Methoden für Netzwerkstabilität und Überwachung in Amazon MQ for RabbitMQ - Amazon MQ

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 Netzwerkstabilität und Überwachung in Amazon MQ for RabbitMQ

Die Widerstandsfähigkeit des Netzwerks und die Überwachung der Broker-Metriken sind für die Aufrechterhaltung zuverlässiger Messaging-Anwendungen unerlässlich. Machen Sie sich mit den folgenden bewährten Methoden vertraut, um automatische Wiederherstellungsmechanismen und Strategien zur Ressourcenüberwachung zu implementieren.

Schritt 1: Automatische Wiederherstellung nach Netzwerkausfällen

Es wird empfohlen, die automatische Netzwerkwiederherstellung immer zu aktivieren, um erhebliche Ausfallzeiten zu vermeiden, wenn Clientverbindungen zu RabbitMQ-Knoten fehlschlagen. Die RabbitMQ Java-Client-Bibliothek unterstützt standardmäßig automatische Netzwerkwiederherstellung, beginnend mit Version4.0.0.

Die automatische Verbindungswiederherstellung wird ausgelöst, wenn in der I/O Verbindungsschleife eine unbehandelte Ausnahme ausgelöst wird, wenn ein Timeout für einen Socket-Lesevorgang erkannt wird oder wenn der Server einen Heartbeat verpasst.

In Fällen, in denen die anfängliche Verbindung zwischen einem Client und einem RabbitMQ-Knoten fehlschlägt, wird die automatische Wiederherstellung nicht ausgelöst. Wir empfehlen, Ihren Anwendungscode zu schreiben, um anfängliche Verbindungsfehler zu berücksichtigen, indem Sie die Verbindung erneut versuchen. Das folgende Beispiel veranschaulicht den erneuten Versuch von anfänglichen Netzwerkfehlern mithilfe der RabbitMQ-Java-Client-Bibliothek.

ConnectionFactory factory = new ConnectionFactory(); // enable automatic recovery if using RabbitMQ Java client library prior to version 4.0.0. factory.setAutomaticRecoveryEnabled(true); // configure various connection settings try { Connection conn = factory.newConnection(); } catch (java.net.ConnectException e) { Thread.sleep(5000); // apply retry logic }
Anmerkung

Wenn eine Anwendung eine Verbindung mit derConnection.Close-Methode wird die automatische Netzwerkwiederherstellung nicht aktiviert oder ausgelöst.

Schritt 2: Überwachen Sie Broker-Metriken und Alarme

Wir empfehlen, die CloudWatch Kennzahlen und Alarme für Ihren Amazon MQ for RabbitMQ-Broker regelmäßig zu überwachen, um potenzielle Probleme zu erkennen und zu beheben, bevor sie sich auf Ihre Messaging-Anwendung auswirken. Proaktive Überwachung ist unerlässlich, um eine robuste Messaging-Anwendung aufrechtzuerhalten und eine optimale Leistung sicherzustellen.

Amazon MQ for RabbitMQ veröffentlicht Kennzahlen, die Einblicke in CloudWatch die Leistung von Brokern, die Ressourcenauslastung und den Nachrichtenfluss bieten. Zu den wichtigsten zu überwachenden Kennzahlen gehören die Speichernutzung und die Festplattennutzung. Sie können CloudWatch Alarme einrichten, wenn Ihr Broker die Ressourcengrenzen erreicht oder Leistungseinbußen feststellt.

Überwachen Sie die folgenden wichtigen Kennzahlen:

RabbitMQMemUsed und RabbitMQMemLimit

Überwachen Sie die Speicherauslastung, um Speicheralarme zu verhindern, die die Nachrichtenveröffentlichung blockieren können.

RabbitMQDiskFree und RabbitMQDiskFreeLimit

Überwachen Sie die Festplattennutzung, um Speicherplatzprobleme zu vermeiden, die zu Brokerausfällen führen können.

Überwachen Sie bei Clusterbereitstellungen auch knotenspezifische Messwerte, um knotenspezifische Probleme zu identifizieren.

Anmerkung

Weitere Informationen zur Vermeidung von Alarmen bei hohem Speicherbedarf finden Sie unter Adressieren und Verhindern von Alarmen bei hohem Speicherbedarf.