Bewährte Methoden für Netzwerkstabilität und Überwachung in Amazon MQ für 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 für RabbitMQ

Netzwerkstabilität und Überwachung von Broker-Metriken sind für die Aufrechterhaltung zuverlässiger Messaging-Anwendungen unerlässlich. Führen Sie die folgenden bewährten Methoden durch, 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 eine unbehandelte Ausnahme in der I/O Verbindungsschleife ausgelöst wird, wenn ein Timeout für den 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 die Metriken und Alarme von Brokern

Wir empfehlen, die CloudWatch Kennzahlen und Alarme für Ihren Amazon MQ for RabbitMQ-Broker regelmäßig zu überwachen, um potenzielle Probleme zu identifizieren und zu beheben, bevor sie sich auf Ihre Messaging-Anwendung auswirken. Eine proaktive Überwachung ist für die Aufrechterhaltung einer stabilen Messaging-Anwendung und die Sicherstellung einer optimalen Leistung unerlässlich.

Amazon MQ for RabbitMQ veröffentlicht dazu Kennzahlen, die Einblicke in CloudWatch die Leistung des Brokers, die Ressourcennutzung und den Nachrichtenfluss bieten. Zu den wichtigsten zu überwachenden Kennzahlen gehören die Speicherauslastung und die Festplattennutzung. Sie können CloudWatch Alarme einrichten, wenn Ihr Broker an Ressourcengrenzen stößt oder Leistungseinbußen auftreten.

Überwachen Sie die folgenden wichtigen Kennzahlen:

RabbitMQMemUsed und RabbitMQMemLimit

Überwachen Sie die Speichernutzung, um Speicheralarme zu verhindern, die die Nachrichtenveröffentlichung blockieren könnten.

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 Verhinderung eines Alarms bei zu hohem Speicherbedarf finden Sie unter Alarme bei hohem Speicherverbrauch beheben und verhindern.