RabbitMQ - Comment configurer les serveurs pour des mises à niveau sans interruption?

12

Après avoir lu les documents et RabbitMQ en action , la création d'un cluster RabbitMQ semble assez simple, mais la mise à niveau ou le patch d'un cluster RabbitMQ existant semble nécessiter le redémarrage de tout le cluster.

Existe-t-il un moyen de combiner le clustering, la pelle, la fédération et l'équilibrage de charge pour rendre possible une mise à niveau progressive sans perdre les files d'attente ou les messages, ou ai-je manqué quelque chose d'un peu plus évident?

Terence Johnson
la source
Une mise à jour pour ceci?
Reddy

Réponses:

4

En supposant que vos clients rabbitmq peuvent tolérer une connexion interrompue, vous pouvez considérer ce qui est décrit ici .

notre cluster est derrière un VIP. Lorsque nous voulons mettre à niveau un cluster, nous faisons tourner un cluster alternatif et basculons le VIP sur le cluster alternatif. Pendant ce temps, nous avons un outil qui déplace les messages entre les clusters. Lorsque la mise à jour du cluster «maître» est terminée, nous inversons le processus.

mmoya
la source
1

Lors de la mise à niveau d'une version majeure ou mineure de RabbitMQ vers une autre (c'est-à-dire de 3.0.x à 3.1.x, ou de 2.xx à 3.xx), ou lors de la mise à niveau d'Erlang, tout le cluster doit être retiré pour la mise à niveau ( car les clusters ne peuvent pas exécuter des versions mixtes comme celle-ci). Ce ne sera pas le cas lors de la mise à niveau d'une version de correctif vers une autre (c'est-à-dire de 3.0.x vers 3.0.y); ces versions peuvent être mélangées dans un cluster (à l'exception que 3.0.0 ne peut pas être mélangé avec des versions ultérieures de la série 3.0.x).

Vedprakash Nimbalkar
la source
-1

@terence Moi aussi, j'étais dans la même situation que la vôtre. Je pense que vous pouvez vous désaltérer ici . PS Je ne l'ai pas encore essayé moi-même.

sameergautam
la source
1
Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
Jenny D