View a markdown version of this page

RabbitMQ 4.3 - 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.

RabbitMQ 4.3

Amazon MQ unterstützt jetzt RabbitMQ 4.3 der RabbitMQ 4 Release-Serien für den Instance-Typ mq.m7g für alle unterstützten Instance-Größen. RabbitMQ4.3 führt Verbesserungen der Quorum-Warteschlangen und neue Austauschtypen ein und schließt die Entfernung mehrerer Funktionen ab, die in früheren 4.x-Versionen veraltet waren. Weitere Informationen zu dieser Version finden Sie in den Versionshinweisen zu RabbitMQ 4.3.0 auf der Website. GitHub

Wichtig

Amazon MQ unterstützt nur das Upgrade von RabbitMQ RabbitMQ 4.2 auf 4.3. Sie können kein direktes Upgrade von RabbitMQ 3.13 auf 4.3 durchführen. Wenn Ihr Broker RabbitMQ 3.13 ausführt, müssen Sie zuerst ein Upgrade auf RabbitMQ 4.2 durchführen, bevor Sie ein Upgrade auf 4.3 durchführen.

Bahnbrechende Änderungen in RabbitMQ 4.3 auf Amazon MQ

Die folgenden Open-Source-Änderungen können sich auf Ihre Anwendungen auswirken, wenn Sie auf RabbitMQ 4.3 aktualisieren. Überprüfen Sie diese Änderungen, bevor Sie Ihren Broker aktualisieren.

  • Transiente, nicht exklusive Warteschlangen werden abgelehnt: Wenn Sie eine Warteschlange deklarieren, die sowohl nicht dauerhaft als auch nicht exklusiv ist, wird jetzt ein Fehler zurückgegeben. Amazon MQ für 4.3 hat die Unterstützung für diese Funktion entferntRabbitMQ. Verwenden Sie stattdessen dauerhafte Warteschlangen, exklusive Warteschlangen oder dauerhafte Warteschlangen mit Warteschlangen-TL auf der Website. RabbitMQ

  • Globales QoS wird abgelehnt: Wenn Sie global=true jetzt basic.qos mit aufrufen, wird ein Kanalfehler zurückgegeben. Amazon MQ für RabbitMQ 4.3 hat die Unterstützung für diese Funktion entfernt. Verwenden Sie stattdessen prefetch () pro Verbraucher. global=false Weitere Informationen zu dieser Änderung finden Sie auf der Website unter Entfernung der globalen QoS. RabbitMQ

  • Der klassische Queue v1-Speicher wurde entfernt: Beim Deklarieren einer Warteschlange mit x-queue-version=1 now wird ein Fehler zurückgegeben. Die klassische Warteschlange v2 ist die einzige unterstützte Speicher-Engine. Amazon MQ setzt Version 2 seit RabbitMQ 3.12 durch, sodass bestehende Warteschlangen nicht betroffen sind.

  • Timeout für Verbraucher gilt nicht mehr für klassische Warteschlangen: Klassische Warteschlangen werten Verbraucher-Timeouts nicht mehr aus. Wenn ein Verbraucher auf Anwendungsebene nicht RabbitMQ weiterkommt, übermittelt er Nachrichten nicht automatisch erneut. Die consumer_timeout Einstellung gilt weiterhin für Quorumwarteschlangen. Wenn Ihre Anwendung bei klassischen Warteschlangen auf ein Verbraucher-Timeout angewiesen ist, sollten Sie eine Migration zu Quorumwarteschlangen in Betracht ziehen oder Heartbeat-Prüfungen auf Anwendungsebene implementieren. Weitere Informationen zu dieser Änderung finden Sie in den Versionshinweisen zu 4.3.0 auf der Website. RabbitMQ GitHub

Neue Funktionen und Verbesserungen in RabbitMQ 4.3 auf Amazon MQ

  • Strikte Priorität der Quorum-Warteschlange: Quorum-Warteschlangen unterstützen jetzt eine strikte Prioritätsreihenfolge mit bis zu 32 Stufen (0—31), die mit dem Warteschlangenargument aktiviert wird. x-max-priority Higher-priority Nachrichten werden immer vor Nachrichten mit niedrigerer Priorität zugestellt. Dies ersetzt die in 4.2 eingeführte zweistufige, auf Verhältnissen beruhende Übermittlung. RabbitMQ Weitere Informationen zu den Prioritäten der Quorumwarteschlangen finden Sie auf der Website unter Prioritäten für Quorumwarteschlangen. RabbitMQ

  • Verzögerte Wiederholung in der Quorum-Warteschlange: Quorum-Warteschlangen unterstützen verzögerte Wiederholungen mit konfigurierbarem steigendem Backoff. Sie können das Wiederholungsverhalten mithilfe von Warteschlangenargumenten oder Richtlinienschlüsseln (,,) konfigurieren. delayed-retry-type delayed-retry-min delayed-retry-max Weitere Informationen zu Quorumwarteschlangen finden Sie auf der Website unter Quorumwarteschlangen. RabbitMQ

  • Granulares Verbraucher-Timeout für Quorumwarteschlangen: Das Verbraucher-Timeout kann jetzt pro Verbraucher, pro Warteschlange oder mithilfe einer Richtlinie festgelegt werden. Dies ermöglicht eine genauere Steuerung als die vorherige, für den Broker geltende Einstellung. consumer_timeout

  • Mithilfe einer Richtlinie änderbares Lieferlimit: Das Limit für die Quorumwarteschlange kann jetzt mithilfe einer Richtlinie aktualisiert werden, ohne dass die Warteschlange erneut deklariert werden muss.

  • Konsistenter Hash-Austausch (x-modulus-hash): Der x-modulus-hash Austauschtyp ist jetzt in den Kern integriert. RabbitMQ Dieser Austauschtyp verteilt Nachrichten über gebundene Warteschlangen, indem er ein konsistentes Hashing des Routing-Schlüssels verwendet, wodurch Workload-Sharding ohne clientseitige Logik ermöglicht wird. Weitere Informationen zum konsistenten Hash-Austausch finden Sie auf der Website unter Konsistenter Hash-Austausch. RabbitMQ

Wichtig

Wenn Sie ein Upgrade von Version RabbitMQ 4.2 durchführen, beachten Sie die folgende Änderung bei der Nachrichtenübermittlung. Bestehende Nachrichten mit Prioritäten, die zuvor als hoch (≥5) oder normal (0—4) eingestuft wurden, werden jetzt in strikter Reihenfolge zugestellt. Dies hat zur Folge, dass Nachrichten mit niedrigerer Priorität möglicherweise ausgehungert werden, während Nachrichten mit höherer Priorität in der Warteschlange verbleiben. RabbitMQ4.2 verwendete die Zustellung im Verhältnis 2:1, was den Fortschritt bei Nachrichten mit normaler Priorität garantierte.