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?
cluster
high-availability
rabbitmq
Terence Johnson
la source
la source
Réponses:
En supposant que vos clients rabbitmq peuvent tolérer une connexion interrompue, vous pouvez considérer ce qui est décrit ici .
la source
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).
la source
@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.
la source