RabbitMQ - Como eu configuro servidores para upgrades com tempo de inatividade zero?

12

Depois de ler os documentos e RabbitMQ em Ação , criar um cluster RabbitMQ parece bastante simples, mas a atualização ou a correção de um cluster RabbitMQ existente parece exigir que todo o cluster seja reiniciado.

Existe uma maneira de combinar cluster, pá, federação e balanceamento de carga para possibilitar uma atualização sem perder filas ou mensagens, ou perdi algo um pouco mais óbvio?

    
por Terence Johnson 24.08.2014 / 18:12

3 respostas

4

Supondo que seus clientes rabbitmq possam tolerar uma conexão perdida, você pode considerar o que está descrito aqui .

our cluster is behind a VIP. When we want to upgrade a cluster, we spin up an alternate cluster and switch the VIP over to the alternate cluster. Meanwhile, we have tooling that moves messages between clusters. When the 'master' cluster's update is done, we reverse the process.

    
por 27.08.2015 / 17:26
1

Ao atualizar de uma versão principal ou secundária do RabbitMQ para outra (ou seja, de 3.0.x para 3.1.x, ou de 2.xx para 3.xx), ou ao atualizar o Erlang, todo o cluster deve ser removido para a atualização (já que os clusters não podem executar versões mistas como esta). Este não será o caso ao atualizar de uma versão de correção para outra (isto é, de 3.0.x para 3.0.y); essas versões podem ser misturadas em um cluster (com a exceção de que 3.0.0 não pode ser misturado com versões posteriores da série 3.0.x).

    
por 22.07.2015 / 13:26
-1

@terence eu também estava no mesmo lugar que o seu. Eu acho que você pode saciar sua sede por curiosidade aqui . P.S. Eu não tentei ainda.

    
por 16.05.2018 / 07:02