Amazon MQ Brokernetzwerk - 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.

Amazon MQ Brokernetzwerk

Amazon MQ unterstützt die ActiveMQ-Funktion für Netzwerke von Brokern.

Ein -Netzwerk von Brokernbesteht aus mehreren gleichzeitig aktivenSingle-Instance-Brokernoderaktiven/Standby-Brokern. Sie können Brokernetzwerke in einer Vielzahl von Topologien (z. B. Concentrator hub-and-spokes, Tree oder Mesh) konfigurieren, je nach den Anforderungen Ihrer Anwendung, z. B. Hochverfügbarkeit und Skalierbarkeit. Zum Beispiel kann ein Hub-und-Spoke-Netzwerk von Brokern kann die Ausfallsicherheit erhöhen und Nachrichten erhalten, wenn ein Broker nicht erreichbar ist. Ein Netzwerk von Brokern mit einemKonzentratorTopologie kann Nachrichten von einer größeren Anzahl von Brokern sammeln, die eingehende Nachrichten akzeptieren, und sie auf zentralere Broker konzentrieren, um die Belastung vieler eingehender Nachrichten besser zu bewältigen.

Ein Tutorial und detaillierte Konfigurationsinformationen finden Sie im Folgenden:

Vorteile aus der Nutzung eines Netzwerks von Brokern:

  • Die Einrichtung eines Netzwerks von Brokern ermöglicht es Ihnen, Ihren Gesamtdurchsatz und die maximale Anzahl der Produzenten- und Konsumentenverbindungen durch Hinzufügen von Broker-Instances zu erhöhen.

  • Sie können eine bessere Verfügbarkeit sicherstellen, indem Sie Ihren Produzenten und Verbrauchern ermöglichen, sich über mehrere aktive Broker-Instances zu informieren. Dies ermöglicht es ihnen, sich wieder mit einer neuen Instance zu verbinden, wenn diejenige, mit der sie gerade verbunden sind, nicht verfügbar ist.

  • Da Produzenten und Verbraucher sofort wieder eine Verbindung zu einem anderen Knoten im Netzwerk der Broker herstellen können und es nicht notwendig ist, darauf zu warten, dass eine Standby-Broker-Instance befördert wird, ist die Wiederverbindung des Kunden innerhalb eines Netzwerks von Brokern schneller als bei einem aktiven/Standby-Broker für hohe Verfügbarkeit.

Wie funktioniert ein Netzwerk von Brokern?

Amazon MQ unterstützt das ActiveMQ-Netzwerk von Brokern auf verschiedene Weise. Erstens können Sie die Parameter innerhalb der Konfiguration jedes Brokers bearbeiten, um ein Netzwerk von Brokern zu erstellen, genau wie bei nativem ActiveMQ. Zweitens verfügt Amazon MQ über Musterpläne, mit denen AWS CloudFormation der Aufbau eines Brokernetzwerks automatisiert wird. Sie können diese Beispiel-Vorlagen direkt aus der Holen Sie sich die Amazon MQ-Konsole verwenden, oder Sie können die zugehörigen AWS CloudFormation - Vorlagen bearbeiten, um eigene Topologien und Konfigurationen zu erstellen.

Ein Netzwerk von Brokern wird aufgebaut, indem ein Broker über Netzwerk-Connectors mit einem anderen verbunden wird. Sobald sie verbunden sind, bieten diese Broker eine Nachrichtenweiterleitung an. Zum Beispiel, wenn Broker1 einen Netzwerk-Connector nach Broker2 einrichtet, werden Nachrichten auf Broker1 an Broker2 weitergeleitet, falls ein Verbraucher auf diesem Broker für die Warteschlange oder das Thema vorhanden ist. Wenn der Netzwerk-Connector als duplex konfiguriert ist, werden Nachrichten auch von Broker2 an Broker1 weitergeleitet. Netzwerk-Connectors werden in der Configuration (Konfiguration) des Brokers konfiguriert. Siehe Amazon MQ Broker Configuration Parameters. Als Beispiel hier ein Beispieleintrag für einen networkConnector in einer Broker-Konfiguration:

<networkConnectors> <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Ein Netzwerk von Brokern stellt sicher, dass Nachrichten von einer Brokerinstance zur anderen fließen, und leitet Nachrichten nur an die Brokerinstances weiter, die entsprechende Konsumenten haben. Zum Nutzen von Brokerinstances, die im Netzwerk nebeneinander liegen, sendet ActiveMQ Nachrichten an Beratungsthemen über Produzenten und Verbraucher, die Verbindungen mit dem Netzwerk herstellen und trennen. Wenn eine Broker-Instance Informationen über einen Verbraucher erhält, der von einem bestimmten Ziel konsumiert, beginnt die Broker-Instance, Nachrichten weiterzuleiten. Weitere Informationen finden Sie unter Advisory Topics in der ActiveMQ-Dokumentation.

Wie geht ein Netzwerk von Brokern mit Anmeldeinformationen um?

Damit sich Broker A mit Broker B in einem Netzwerk verbinden kann, muss Broker A gültige Anmeldeinformationen verwenden, wie jeder andere Produzent oder Verbraucher. Anstatt ein Passwort in der <networkConnector>-Konfiguration von Broker A anzugeben, müssen Sie zunächst einen Benutzer auf dem Broker A mit den gleichen Werten wie ein anderer Benutzer auf dem Broker B anlegen (dies sind separate, einzigartige Benutzer, die die gleichen Werte für Benutzername und Passwort verwenden). Wenn Sie das Attribut userName in der <networkConnector>-Konfiguration angeben, fügt Amazon MQ das Passwort zur Laufzeit automatisch hinzu.

Wichtig

Geben Sie kein password-Attribut für das <networkConnector> an. Wir empfehlen nicht, Klartext-Passwörter in Broker-Konfigurationsdateien zu speichern, da dadurch die Passwörter in der Holen Sie sich die Amazon MQ-Konsole sichtbar werden. Weitere Informationen finden Sie unter Configure Network Connectors for Your Broker.

Makler müssen sich im selben VPC oder im Peering-Modus befinden. VPCs Weitere Informationen finden Sie unter Voraussetzungen im Creating and Configuring a Network of Brokers Tutorial.

Beispiel-Vorlagen

Um mit der Nutzung eines Netzwerks von Brokern zu beginnen, bietet Amazon MQ Beispiel-Vorlagen. Mit diesen Beispiel-Blueprints wird eine Network of Broker-Bereitstellung und alle zugehörigen Ressourcen mithilfe von, erstellt. AWS CloudFormation Die beiden verfügbaren Beispiel-Vorlagen sind:

  1. Mesh-Netzwerk von Single-Instance-Brokern

  2. Mesh-Netzwerk von aktiven/Standby-Brokern

Beispielbereitstellungen

Wählen Sie auf der Seite Create brokers (Broker erstellen) eine der Beispiel-Vorlagen aus und klicken Sie auf Next (Weiter). Nachdem die Ressourcen erstellt wurden, überprüfen Sie die generierten Broker und ihre Konfigurationen in der Amazon MQ-Konsole.

Durch die Erstellung von Brokern und die Konfiguration verschiedener networkConnector-Elemente in den Broker-Konfigurationen können Sie ein Netzwerk von Brokern in vielen verschiedenen Topologien erstellen. Weitere Informationen zur Konfiguration eines Netzwerks von Brokern finden Sie unter Networks of Brokers (Netzwerke von Brokern) in der ActiveMQ-Dokumentation.

Topologien für Netzwerke von Brokern

Durch die Bereitstellung von Brokern und die anschließende Konfiguration von networkConnector-Einträgen in ihrer Konfiguration können Sie ein Netzwerk von Brokern mit unterschiedlichen Netzwerktopologien aufbauen. Ein Netzwerk-Connector ermöglicht die On-Demand-Weiterleitung von Nachrichten zwischen verbundenen Brokern. Verbindungen können als Duplex konfiguriert werden, wobei Nachrichten in beide Richtungen zwischen Brokern weitergeleitet werden, oder nicht als Duplex, wobei sich die Weiterleitung nur von einem Broker zum anderen erstreckt. Beispiel: Bei einer Duplex-Verbindung zwischen Broker1 und Broker2 werden Nachrichten von jedem Broker an den anderen weitergeleitet, falls ein Konsument vorhanden ist.

Duplex-Connector

Mit einem Duplex-Netzwerk-Connector werden Nachrichten von jedem Broker an den anderen weitergeleitet. Diese werden On-Demand weitergeleitet: Wenn bei Broker2 ein Konsument für eine Nachricht auf Broker1 vorhanden ist, wird die Nachricht weitergeleitet. Ähnlich verhält es sich, wenn es auf Broker1 einen Konsumenten für eine Nachricht auf Broker2 gibt, wird die Nachricht ebenfalls weitergeleitet.

Bei Nicht-Duplex-Verbindungen werden Nachrichten nur von einem Broker zum anderen weitergeleitet. Ist in diesem Beispiel auf Broker2 ein Konsument für eine Nachricht auf Broker1 vorhanden, wird die Nachricht weitergeleitet. Nachrichten werden aber nicht von Broker2 an Broker1 weitergeleitet.

Einweg-Connector

Durch die Verwendung von Duplex- und Nicht-Duplex-Netzwerk-Connectors ist es möglich, ein Netzwerk von Brokern in einer beliebigen Anzahl von Netzwerktopologien aufzubauen.

Anmerkung

In jedem der Beispiele für die Netzwerktopologie verweisen die networkConnector-Elemente auf den Endpunkt der Broker, mit denen sie sich verbinden. Ersetzen Sie die Broker-Endpunkteinträge in den uri-Attributen mit den Endpunkten Ihrer Broker. Siehe Listing brokers and viewing broker details.

Mesh-Topologie

Eine Mesh-Topologie bietet mehrere Broker, die alle miteinander verbunden sind. Dieses einfache Beispiel verbindet drei Single-Instance-Broker, aber Sie können mehr Broker als Mesh konfigurieren.

Mesh-Topologie

Diese Topologie sowie eine Topologie, die ein Mesh-Netzwerk mit aktiven/Standby-Broker-Paaren enthält, lassen sich mit Beispiel-Vorlagen in der Amazon MQ-Konsole erstellen. Sie können die Bereitstellung dieser Beispiel-Vorlagen erstellen, um ein funktionierendes Netzwerk von Brokern zu sehen und zu überprüfen, wie sie konfiguriert sind.

Sie können ein Drei-Broker-Mesh-Netzwerk wie folgt konfigurieren, indem Sie einen Netzwerk-Connector hinzufügen zu Broker1, der Duplexverbindungen zu Broker2 und zu Broker3 und eine einzige Duplexverbindung zwischen Broker2 und Broker3 herstellt.

Netzwerk-Connectors für Broker1:

<networkConnectors> <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="connector_1_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Netzwerk-Connectors für Broker2:

<networkConnectors> <networkConnector name="connector_2_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Durch Hinzufügen der oben genannten Connectors zu den Konfigurationen von Broker1 und Broker2 können Sie ein Mesh-Netzwerk zwischen diesen drei Brokern erstellen, das die Nachricht On-Demand zwischen allen Brokern weiterleitet. Weitere Informationen finden Sie unter Amazon MQ Broker Configuration Parameters.

Hub-and-Spoke-Topologie

In einer Hub-and-Spoke-Topologie werden Nachrichten gespeichert, wenn es zu einer Unterbrechung für einen Broker auf einem Spoke kommt. Nachrichten werden durchgehend weitergeleitet, und nur der zentrale Broker1 ist kritisch für den Betrieb des Netzwerks.

Hub-and-Spoke-Topologie

Um in diesem Beispiel das Hub-and-Spoke-Netzwerk von Brokern zu konfigurieren, können Sie einen networkConnector an jeden der Broker auf den Spokes in der Konfiguration von Broker1 hinzufügen.

<networkConnectors> <networkConnector name="connector_hub_and_spoke_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="connector_hub_and_spoke_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="connector_hub_and_spoke_4" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="connector_hub_and_spoke_5" userName="myCommonUser" duplex="true" uri="static:(ssl://b-62a7fb31-d51c-466a-a873-905cd660b553-4.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Konzentrator-Topologie

In dieser Beispieltopologie können die drei Broker am unteren Rand eine große Anzahl von Verbindungen verwalten, und diese Nachrichten sind auf Broker1 und Broker2 konzentriert. Jeder der anderen Broker hat eine nicht-duplexe Verbindung zu den zentraleren Brokern. Um die Kapazität dieser Topologie zu skalieren, können Sie weitere Broker hinzufügen, die Nachrichten empfangen, und diese Nachrichten in Broker1 und Broker2 konzentrieren.

Konzentrator-Topologie

Um diese Topologie zu konfigurieren, würde jeder der Broker auf der Unterseite einen Netzwerk-Connector zu jedem der Broker enthalten, auf die sie Nachrichten konzentrieren.

Netzwerk-Connectors für Broker3:

<networkConnectors> <networkConnector name="3_to_1" userName="myCommonUser" duplex="false" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="3_to_2" userName="myCommonUser" duplex="false" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Netzwerk-Connectors für Broker4:

<networkConnectors> <networkConnector name="4_to_1" userName="myCommonUser" duplex="false" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="4_to_2" userName="myCommonUser" duplex="false" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Netzwerk-Connectors für Broker5:

<networkConnectors> <networkConnector name="5_to_1" userName="myCommonUser" duplex="false" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="5_to_2" userName="myCommonUser" duplex="false" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Regionsübergreifend

Um ein regionsübergreifendes AWS Brokernetzwerk zu konfigurieren, stellen Sie Broker in diesen Regionen bereit und konfigurieren Sie Netzwerkkonnektoren für die Endpunkte dieser Broker.

Regionsübergreifende Mesh-Topologie

Um ein Netzwerk von Brokern wie in diesem Beispiel zu konfigurieren, können Sie networkConnectors-Einträge zu den Konfigurationen von Broker1 und Broker4 hinzufügen, die auf die Wire-Level-Endpunkte dieser Broker verweisen.

Netzwerk-Connectors für Broker1:

<networkConnectors> <networkConnector name="1_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="1_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="1_to_4" userName="myCommonUser" duplex="true" uri="static:(ssl://b-62a7fb31-d51c-466a-a873-905cd660b553-4.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Netzwerk-Connector für Broker2:

<networkConnectors> <networkConnector name="2_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Netzwerk-Connectors für Broker4:

<networkConnectors> <networkConnector name="4_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="4_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Dynamisches Failover mit Transport Connectors

Zusätzlich zur Konfiguration von networkConnector-Elementen können Sie die transportConnector-Optionen Ihres Brokers zur Aktivierung von dynamischem Failover konfigurieren und zum Neuausgleich der Verbindungen, wenn Broker dem Netzwerk hinzugefügt oder daraus entfernt werden.

<transportConnectors> <transportConnector name="openwire" updateClusterClients="true" rebalanceClusterClients="true" updateClusterClientsOnRemove="true"/> </transportConnectors>

In diesem Beispiel sind updateClusterClients und rebalanceClusterClients auf true gesetzt. In diesem Fall wird den Clients eine Liste von Brokern im Netzwerk präsentiert, und die Clients werden zur Neuausrichtung aufgefordert, wenn ein neuer Broker hinzukommt.

Verfügbare Optionen:

  • updateClusterClients: Übergibt Clients Informationen zu Änderungen im Netzwerk der Brokertopologie.

  • rebalanceClusterClients Lässt Clients eine Neuausrichtung über die Broker hinweg durchführen, wenn einem Brokernetzwerk ein neuer Broker hinzugefügt wird.

  • updateClusterClientsOnRemove: Aktualisiert Clients mit Topologieinformationen, wenn ein Broker ein Brokernetzwerk verlässt.

Wenn updateClusterClients auf „true“ gesetzt ist, können Clients zur Verbindung mit einem einzelnen Broker in einem Brokernetzwerk konfiguriert werden.

failover:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)

Wenn ein neuer Broker eine Verbindung herstellt, erhält er eine Liste URIs aller Broker im Netzwerk. Wenn die Verbindung zu dem Broker fehlschlägt, kann er dynamisch zu einem anderen Broker wechseln, der bei seiner Verbindung verfügbar war.

Weitere Informationen zum Failover finden Sie unter Brokerseitige Failover-Optionen in der Active MQ-Dokumentation.