Plug-ins - 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.

Plug-ins

Amazon MQ for RabbitMQ unterstützt das RabbitMQ-Verwaltungs-Plugin, das die Verwaltung und die RabbitMQ-Webkonsole unterstützt. API Sie können die Webkonsole und das Management verwenden, um Broker-Benutzer und -Richtlinien zu erstellen und zu verwalten. API

Neben dem Management Plugin unterstützt Amazon MQ für RabbitMQ auch die folgenden Plug-ins.

Shovel Plugin

Von Amazon MQ verwaltete Makler unterstützen die RabbitMQ Shovel, sodass Sie Nachrichten aus Warteschlangen und Exchanges auf einer Broker-Instance in eine andere verschieben können. Sie können Shovel verwenden, um lose gekoppelte Broker zu verbinden und Nachrichten von Knoten mit schwereren Nachrichtenladungen zu verteilen.

Von Amazon MQ verwaltete RabbitMQ Broker unterstützen dynamische Shovels. Dynamische Shovels werden mit Laufzeitparametern konfiguriert und können jederzeit programmgesteuert über eine Clientverbindung gestartet und gestoppt werden. Mithilfe des RabbitMQ-Managements können Sie beispielsweise eine PUT Anfrage an den folgenden API Endpunkt erstellenAPI, um eine dynamische Schaufel zu konfigurieren. Im Beispiel kann {vhost} durch den Namen des vhost des Brokers und {name} durch den Namen der neuen dynamischen Shovel ersetzt werden.

/api/parameters/shovel/{vhost}/{name}

Im Anforderungstext müssen Sie entweder eine Warteschlange oder einen Exchange angeben, aber nicht beides. In diesem Beispiel unten wird eine dynamische Shovel zwischen einer in src-queue angegebenen lokalen Warteschlange und einer in dest-queue definierten Remote-Warteschlange konfiguriert. Auf ähnliche Weise können Sie die Parameter src-exchange und dest-exchange verwenden, um eine Shovel zwischen zwei Exchanges zu konfigurieren.

{ "value": { "src-protocol": "amqp091", "src-uri": "amqp://localhost", "src-queue": "source-queue-name", "dest-protocol": "amqp091", "dest-uri": "amqps://b-c8352341-ec91-4a78-ad9c-a43f23d325bb.mq.us-west-2.amazonaws.com:5671", "dest-queue": "destination-queue-name" } }
Wichtig

Sie können die Shovel zwischen Warteschlangen oder Exchanges nicht konfigurieren, wenn das Shovel-Ziel ein privater Broker ist. Sie können die Shovel nur zwischen Warteschlangen oder Exchanges in öffentlichen Brokern oder zwischen einer Quelle in einem privaten Broker und einem Ziel in einem öffentlichen Broker konfigurieren.

Weitere Informationen zur Verwendung dynamischer Shovels finden Sie unter dem RabbitMQ Dynamic Shovel Plugin.

Anmerkung

Amazon MQ unterstützt die Verwendung statischer Shoveln nicht.

Federation Plugin

Amazon MQ unterstützt Verbund-Exchange und -Warteschlangen. Mit Verbund können Sie den Nachrichtenfluss zwischen Warteschlangen, Exchanges und Verbrauchern auf separaten Brokern replizieren. Verbundwarteschlangen und Exchanges verwenden point-to-point Links, um Verbindungen zu Kollegen in anderen Brokern herzustellen. Während Verbund-Exchanges Nachrichten standardmäßig einmal weiterleiten, können Verbundwarteschlangen Nachrichten beliebig oft verschieben, wie es von den Verbrauchern benötigt wird.

Sie können einen Verbund verwenden, um einen Downstream--Broker zu ermöglichen, eine Nachricht von einem Exchange oder einer Warteschlange auf einen Upstream-Broker zu verwenden. Sie können den Verbund auf nachgeschalteten Brokern aktivieren, indem Sie die RabbitMQ-Webkonsole oder das Management verwenden. API

Wichtig

Sie können den Verbund nicht konfigurieren, wenn sich die Upstream-Warteschlange oder der Exchange in einem privaten Broker befindet. Sie können nur den Verbund zwischen Warteschlangen oder Exchanges in öffentlichen Brokern oder zwischen einer Upstream-Warteschlange oder einem Exchange in einem öffentlichen Broker und einer Downstream-Warteschlange oder einer Börse in einem privaten Broker konfigurieren.

Mithilfe der Verwaltung können Sie den API Verbund beispielsweise wie folgt konfigurieren.

  • Konfigurieren Sie einen oder mehrere Upstreams, die Verbundverbindungen zu anderen Knoten definieren. Sie können Verbundverbindungen mithilfe der RabbitMQ-Webkonsole oder der Verwaltung definieren. API Mithilfe der Verwaltung API können Sie eine POST Anfrage an /api/parameters/federation-upstream/%2f/my-upstream mit dem folgenden Anfragetext erstellen.

    {"value":{"uri":"amqp://server-name","expires":3600000}}
  • Konfigurieren Sie eine Richtlinie, damit Ihre Warteschlangen oder Exchanges miteinander verbunden werden können. Sie können Richtlinien mithilfe der RabbitMQ-Webkonsole oder der Verwaltung konfigurieren. API Mithilfe der Verwaltung API können Sie eine POST Anfrage an /api/policies/%2f/federate-me mit dem folgenden Anfragetext erstellen.

    {"pattern":"^amq\.", "definition":{"federation-upstream-set":"all"}, "apply-to":"exchanges"}
    Anmerkung

    Der Anforderungstext nimmt an, dass Exchanges auf dem Server mit amq beginnen. Verwenden von regulären Ausdrücken ^amq\. stellt sicher, dass der Verbund für alle Börsen aktiviert ist, deren Namen mit „amq“ beginnen. Die Exchanges auf Ihrem RabbitMQ-Server können unterschiedlich benannt werden.

Weitere Informationen zum Konfigurieren des Federation Plugins finden Sie unter RabbitMQ Federation Plugin.

Consistent Hash Exchange Plugin

Standardmäßig unterstützt Amazon MQ für RabbitMQ das Exchange Plug-in „Consistent Hash“. Consistent Hash tauscht Routing-Nachrichten an Warteschlangen aus, basierend auf einem Hash-Wert, der aus dem Routing-Schlüssel einer Nachricht berechnet wird. Angesichts eines ziemlich gleichmäßigen Routingschlüssels können Cosistent Hash Exchanges Nachrichten zwischen Warteschlangen relativ gleichmäßig verteilen.

Bei Warteschlangen, die an einen konsistenten Hash-Austausch gebunden sind, ist der Bindungsschlüssel a number-as-a-string , der das Bindungsgewicht jeder Warteschlange bestimmt. Warteschlangen mit einer höheren Bindungsstärke erhalten eine proportional höhere Verteilung von Nachrichten aus dem Cosistent Hash Exchange, an den sie gebunden sind. In einer Consistent Hash Exchange-Topologie können Publisher einfach Nachrichten in der Exchange veröffentlichen, aber Verbraucher müssen explizit konfiguriert werden, um Nachrichten aus bestimmten Warteschlangen zu verwenden.

Weitere Informationen zu Consistent Hash Exchanges finden Sie auf der Website unter RabbitMQ Consistent Hash Exchange Type. GitHub