Größenrichtlinien für 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.

Größenrichtlinien für Amazon MQ für RabbitMQ

Sie können den Broker-Instance-Typ wählen, der Ihre Anwendung am besten unterstützt. Bei der Auswahl eines Instance-Typs ist es wichtig, Faktoren zu berücksichtigen, die sich auf die Leistung des Brokers auswirken:

  • die Anzahl der Clients und Warteschlangen

  • die Menge der gesendeten Nachrichten

  • Nachrichten, die im Speicher aufbewahrt werden

  • redundante Nachrichten

Kleinere Broker-Instance-Typen (t3.micro) werden nur zum Testen der Anwendungsleistung empfohlen. Wir empfehlen größere Broker-Instance-Typen (m5.largeund höher) für die Produktion von Clients und Warteschlangen, hohen Durchsatz, Nachrichten im Speicher und redundante Nachrichten.

Es ist wichtig, Ihre Broker zu testen, um den geeigneten Instance-Typ und die Größe für Ihre Workload-Messaging-Anforderungen zu ermitteln. Verwenden Sie die folgenden Größenrichtlinien, um den für Ihre Anwendung am besten geeigneten Instance-Typ zu ermitteln.

Richtlinien zur Größenbestimmung für die Bereitstellung einer einzelnen Instanz

Die folgende Tabelle zeigt die maximalen Grenzwerte für jeden Instance-Typ für Single-Instance-Broker.

Instance-Typ Verbindungen Kanäle Warteschlangen Verbraucher pro Kanal Schaufeln
t3.micro 500 1.500 2.500 1.000 150
m5.large 5,000 15 000 30 000 1.000 250
m5.xlarge 10.000 30 000 60 000 1.000 500
m5.2xlarge 20 000 60 000 120.000 1.000 1.000
m5.4xlarge 40 000 120.000 240.000 1.000 2.000

Richtlinien zur Größenbestimmung für die Clusterbereitstellung

Die folgende Tabelle zeigt die maximalen Grenzwerte für jeden Instance-Typ für Cluster-Broker.

Instance-Typ Warteschlangen Verbraucher pro Kanal
m5.large 10.000 1.000
m5.xlarge 15 000 1.000
m5.2xlarge 20 000 1.000
m5.4xlarge 30 000 1.000

Die folgenden Verbindungs-, Kanal- und Schaufelgrenzwerte gelten pro Knoten.

Instance-Typ Verbindungen Kanäle Schaufeln
m5.large 500 15 000 50
m5.xlarge 10.000 30 000 100
m5.2xlarge 20 000 60 000 200
m5.4xlarge 40 000 120.000 400

Die genauen Grenzwerte für einen Cluster-Broker können niedriger als der angegebene Wert sein, abhängig von der Anzahl der verfügbaren Knoten und davon, wie RabbitMQ die Ressourcen auf die verfügbaren Knoten verteilt. Wenn Sie die Grenzwerte überschreiten, können Sie eine neue Verbindung zu einem anderen Knoten herstellen und es erneut versuchen, oder Sie können die Instanzgröße aktualisieren, um die maximalen Grenzwerte zu erhöhen

Fehlermeldungen

Die folgenden Fehlermeldungen werden zurückgegeben, wenn die Grenzwerte überschritten werden. Alle Werte basieren auf den Grenzwerten für m5.large einzelne Instanzen.

Anmerkung

Die Fehlercodes für die folgenden Meldungen können sich je nach verwendeter Client-Bibliothek ändern.

Connection (Verbindung)

ConnectionClosedByBroker 500 "NOT_ALLOWED - connection refused: node connection limit (500) is reached"

Channel

ConnectionClosedByBroker 1500 "NOT_ALLOWED - number of channels opened on node 'rabbit@ip-10-0-23-173.us-west-2.compute.internal' has reached the maximum allowed limit of (15,000)"

Verbraucher

ConnectionClosedByBroker: (530, 'NOT_ALLOWED - reached maximum (1,000) of consumers per channel')

Anmerkung

Die folgenden Fehlermeldungen verwenden das HTTP API Management-Format.

Warteschlange

{"error":"bad_request","reason":"cannot declare queue 'my_queue': queue limit in cluster (30,000) is reached"}]

Schaufel

{"error":"bad_request","reason":"Validation failed\n\ncomponent shovel is limited to 250 per node\n"}

Gespenst

{"error":"bad_request","reason":"cannot create vhost 'my_vhost': vhost limit of 4,000 is reached"}