RabbitMQ - Como configurar servidores para atualizações de tempo de inatividade zero?

12

Após ler os documentos e o RabbitMQ em Ação , a criação de um cluster RabbitMQ parece bastante direta, mas a atualização ou 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 contínua sem perder filas ou mensagens, ou perdi algo um pouco mais óbvio?

Terence Johnson
fonte
alguma atualização disso?
Reddy

Respostas:

4

Supondo que seus clientes rabbitmq possam tolerar uma conexão interrompida, considere o que está descrito aqui .

nosso cluster está atrás de um VIP. Quando queremos atualizar um cluster, criamos um cluster alternativo e mudamos o VIP para o cluster alternativo. Enquanto isso, temos ferramentas que movem mensagens entre clusters. Quando a atualização do cluster 'mestre' é concluída, invertemos o processo.

mmoya
fonte
1

Ao atualizar de uma versão principal ou secundária do RabbitMQ para outra (por exemplo, de 3.0.x para 3.1.x ou 2.xx para 3.xx) ou ao atualizar Erlang, o cluster inteiro deve ser desativado para a atualização ( pois os clusters não podem executar versões mistas como essa). Este não será o caso ao atualizar de uma versão de patch para outra (ou seja, de 3.0.x para 3.0.y); essas versões podem ser combinadas 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).

Vedprakash Nimbalkar
fonte
-1

@terence Eu também tinha estado no mesmo lugar que o seu. Eu acho que você pode saciar sua sede de curiosidade aqui . PS Eu ainda não tentei.

sameergautam
fonte
1
Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
21119 Jenny D