View a markdown version of this page

Konfiguration des Ressourcenlimits - 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.

Konfiguration des Ressourcenlimits

Amazon MQ for RabbitMQ unterstützt die Konfiguration von Broker-Ressourcenlimits ab RabbitMQ 4. Wenn Sie einen Broker erstellen, wendet Amazon MQ automatisch Standardwerte auf diese Ressourcenlimits an. Diese Standardwerte dienen als Schutzmaßnahmen, um die Verfügbarkeit Ihres Brokers zu schützen und gleichzeitig den gängigen Nutzungsmustern der Kunden Rechnung zu tragen. Sie können das Verhalten Ihres Brokers anpassen, indem Sie die Werte für die Konfiguration der Grenzwerte so ändern, dass sie Ihren spezifischen Workload-Anforderungen besser entsprechen. Weitere Informationen zu den zulässigen Standard- und Höchstwerten finden Sie unterGrößenrichtlinien für Amazon MQ für RabbitMQ.

Ressourcennamen und Konfigurationsschlüssel

Ressourcenname Konfigurationsschlüssel
Connection (Verbindung) connection_max
Kanal channel_max_per_node
Warteschlange cluster_queue_limit
Vhost vhost_max
Schaufel runtime_parameters.limits.shovel
Exchange cluster_exchange_limit
Verbraucher pro Kanal consumer_max_per_channel
Maximale Nachrichtengröße max_message_size

Wie überschreibt man Ressourcenlimits

Sie können Ressourcenlimits mithilfe der Amazon MQ MQ-API und der Amazon MQ MQ-Konsole überschreiben.

Das folgende Beispiel zeigt, wie Sie das Standardlimit für die Anzahl der Warteschlangen mithilfe von überschreiben können: AWS CLI

aws mq update-configuration --configuration-id <config-id> --data "$(echo "cluster_queue_limit=500" | base64 --wrap=0)"

Bei einem erfolgreichen Aufruf wird eine Konfigurationsrevision erstellt. Sie müssen die Konfiguration Ihrem RabbitMQ-Broker zuordnen und den Broker neu starten, um die Überschreibung anzuwenden. Weitere Einzelheiten finden Sie unter RabbitMQ Broker Configurations

Unterstützung für instanzspezifische Abschnitte in der Konfiguration

Mit RabbitMQ 4 unterstützt Amazon MQ Abschnitte in Konfigurationsdaten. Mit Abschnitten können Sie instanzspezifische Ressourcenlimits innerhalb einer einzigen Konfiguration definieren. Jeder Abschnitt entspricht einer bestimmten Kombination aus Instanztyp und Bereitstellungsmodus. Wenn Sie die Konfiguration einem Broker zuordnen, wendet Amazon MQ automatisch den passenden Abschnitt für den Instance-Typ und den Bereitstellungsmodus des Brokers an.

Wichtig

Die Unterstützung von Abschnitten ist nur auf RabbitMQ 4 verfügbar. Wenn Sie versuchen, eine Konfiguration, die Abschnitte enthält, auf einen RabbitMQ 3-Broker anzuwenden, gibt die API a zurück. BadRequestException

Abschnittssyntax

Abschnitte werden durch doppelte geschweifte Klammern im folgenden Format abgegrenzt:

{{<host-instance-family>.<size>.<mode>}}

Der mode Wert gibt den Bereitstellungsmodus an:

  • 1— Broker mit einer einzigen Instanz

  • 3— Cluster-Broker

Jeder andere Moduswert ist ungültig und die API gibt einen Fehler zurück.

Das folgende Beispiel zeigt Konfigurationsdaten mit Abschnitten für zwei verschiedene Instance-Typen:

connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} {{m7g.xlarge.3}} connection_max = 4000 {{m7g.xlarge.3}}

Zulässige Konfigurationsschlüssel in Abschnitten

In einem Abschnitt werden nur die folgenden Konfigurationsschlüssel für das Ressourcenlimit unterstützt. Das Hinzufügen eines anderen Konfigurationsschlüssels innerhalb eines Abschnitts führt zu einem API-Fehler.

  • max_message_size

  • channel_max_per_node

  • connection_max

  • cluster_queue_limit

  • vhost_max

  • consumer_max_per_channel

  • runtime_parameters.limits.shovel

  • cluster_exchange_limit

Regeln für die Rangfolge von Abschnitten

Wenn ein Konfigurationsschlüssel sowohl im generischen Abschnitt (oberste Ebene) als auch in einem instanzspezifischen Abschnitt erscheint, hat der Wert, der später in den Konfigurationsdaten erscheint, Vorrang. Wenn Sie beispielsweise die folgende Konfiguration auf einen m7g.large Cluster-Broker anwenden, gilt Folgendes: connection_max 2000

connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}}

Durch Umkehren der Reihenfolge wird Folgendes festgelegt connection_max1000, da der generische Wert an letzter Stelle steht:

{{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} connection_max = 1000
Anmerkung

Wenn die Konfigurationsdaten keine Werte für einen bestimmten Instance-Typ definieren, wendet Amazon MQ die Standardwerte an.

Beispiele

Die folgenden Beispiele zeigen, wie Sie eine Konfiguration mit Abschnitten erstellen und sie mithilfe von einem Broker verknüpfen. AWS CLI

Um eine Konfiguration mit Abschnitten zu aktualisieren

Führen Sie den folgenden Befehl aus, um eine Konfiguration mit instanzspezifischen Ressourcenlimits für mehrere Instance-Typen zu aktualisieren:

aws mq update-configuration \ --configuration-id <config-id> \ --data "$(echo -e "connection_max = 1000\nchannel_max_per_node = 64\n\n{{m7g.large.3}}\nconnection_max = 2000\nchannel_max_per_node = 128\n{{m7g.large.3}}\n\n{{m7g.xlarge.3}}\nconnection_max = 4000\nchannel_max_per_node = 256\n{{m7g.xlarge.3}}" | base64 --wrap=0)"

Diese Konfiguration definiert die folgenden Werte:

  • Generische Standardwerte: connection_max = 1000 und channel_max_per_node = 64

  • m7g.largeCluster-Broker: connection_max = 2000 und channel_max_per_node = 128

  • m7g.xlargeCluster-Broker: connection_max = 4000 und channel_max_per_node = 256

Um die Konfiguration einem Broker zuzuordnen

Nachdem Sie die Konfiguration aktualisiert haben, ordnen Sie sie Ihrem Broker zu und starten Sie den Broker neu, um die Änderungen zu übernehmen. Führen Sie den folgenden Befehl aus:

aws mq update-broker \ --broker-id <broker-id> \ --configuration id=<config-id>,revision=<revision-number>

Fehler beim Überschreiben des Ressourcenlimits

Das Zuordnen oder Erstellen eines Brokers mit Konfigurationswerten außerhalb des unterstützten Bereichs führt zu einer Fehlerantwort, die der folgenden ähnelt:

Configuration Revision N for configuration:cluster_queue_limit has limit: of value: 100000000 larger than maximum allowed limit:5000

Standardwerte und die maximal unterstützten Bereiche nach Instanztyp und Bereitstellungsmodus finden Sie unter Standardmäßige Ressourcenlimits undMaximales Ressourcenlimit von Amazon MQ für RabbitMQ.