RabbitMQ - Wie konfiguriere ich Server für Upgrades ohne Ausfallzeiten?

12

Nachdem Sie die Dokumentation und RabbitMQ in Aktion gelesen haben , scheint das Erstellen eines RabbitMQ-Clusters recht einfach zu sein, aber das Aktualisieren oder Patchen eines vorhandenen RabbitMQ-Clusters erfordert anscheinend einen Neustart des gesamten Clusters.

Gibt es eine Möglichkeit, Clustering, Shovel, Verbund und Lastenausgleich zu kombinieren, um ein fortlaufendes Upgrade zu ermöglichen, ohne Warteschlangen oder Nachrichten zu verlieren, oder habe ich etwas Offensichtlicheres verpasst?

Terence Johnson
quelle
Gibt es hierzu Neuigkeiten?
Reddy

Antworten:

4

Angenommen, Ihre rabbitmq-Clients tolerieren einen Verbindungsabbruch, können Sie die hier beschriebenen Aspekte berücksichtigen .

Unser Cluster steht hinter einem VIP. Wenn wir einen Cluster aktualisieren möchten, drehen wir einen alternativen Cluster und schalten den VIP auf den alternativen Cluster um. In der Zwischenzeit verfügen wir über Tools, mit denen Nachrichten zwischen Clustern verschoben werden. Wenn die Aktualisierung des 'Master'-Clusters abgeschlossen ist, kehren wir den Vorgang um.

mmoya
quelle
1

Beim Upgrade von einer Haupt- oder Nebenversion von RabbitMQ auf eine andere (dh von 3.0.x auf 3.1.x oder von 2.xx auf 3.xx) oder beim Upgrade von Erlang muss der gesamte Cluster für das Upgrade heruntergefahren werden ( da Cluster keine gemischten Versionen wie diese ausführen können). Dies ist nicht der Fall, wenn Sie von einer Patch-Version auf eine andere aktualisieren (dh von 3.0.x auf 3.0.y). Diese Versionen können in einem Cluster gemischt werden (mit der Ausnahme, dass 3.0.0 nicht mit späteren Versionen der 3.0.x-Reihe gemischt werden kann).

Vedprakash Nimbalkar
quelle
-1

@terence Ich war auch in den gleichen Schuhen wie du. Ich glaube , Sie können löschen Sie Neugier Durst hier . PS Ich habe es selbst noch nicht ausprobiert.

sameergautam
quelle
1
Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Jenny D