Alta disponibilidade, failover no Rabbitmq em nodejs

Alta disponibilidade, failover no Rabbitmq em nodejs

Quero configurar alta disponibilidade em nós RabbitMQ, atualmente tenho um único servidor executando RabbitMQ, mas vou adicionar outro. Aqui está a configuração atual que estamos usando no aplicativo Nodejs

rabbitMQ: {
  url: 'amqp://user:password@node1:5672'
},

1) Preciso configurar o cluster em ambos os nós do RabbitMQ (nó1 e nó2)?

2) Qual seria o novo URL que devo incluir no arquivo de configuração

Responder1

A equipe RabbitMQ monitoraesta lista de discussãoe só às vezes responde perguntas no StackOverflow.


Você não fornece detalhes sobre qual versão do RabbitMQ, versão do Erlang, sistema operacional ou biblioteca Node.js você está usando. Por favor, no futuro, sempre forneça às pessoas detalhes como este para facilitar a ajuda delas.

Como você é novo no clustering RabbitMQ, recomendo fortemente que você leia nossa documentação sobre ele - https://www.rabbitmq.com/clustering.html

Preciso configurar o cluster em ambos os nós do RabbitMQ (nó1 e nó2)?

Ambos os nós devem estar executando a mesma versão do RabbitMQ e Erlang. Você cria o cluster de acordo com a documentação executando os comandos de cluster em um nó. Se você obteve sucesso, o rabbitmqctl cluster_statuscomando indicará isso.

2) Qual seria o novo URL que devo incluir no arquivo de configuração

Presumo que você esteja usando osquaremo/amqp.nodebiblioteca. Essa biblioteca não oferece suporte ao fornecimento de vários hosts no URI de conexão. Você deve implementar isso sozinho e também implementar a recuperação de conexão. Por favor, vejaeste problema do GitHub.

No entanto, uma biblioteca que suporta vários nós e reconexão é chamadarascal. Você pode usar rascalou pegar emprestado o código dele (aqui, por exemplo).

informação relacionada