Alta disponibilidad, conmutación por error en Rabbitmq en nodejs

Alta disponibilidad, conmutación por error en Rabbitmq en nodejs

Quiero configurar alta disponibilidad en nodos Rabbitmq. Actualmente tengo un único servidor ejecutando Rabbitmq, sin embargo, voy a agregar otro. Aquí está la configuración actual que estamos usando en la aplicación Nodejs.

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

1) ¿Necesito configurar el clúster en ambos nodos de Rabbitmq (nodo1 y nodo2)?

2) ¿Cuál sería la nueva URL que debo incluir en el archivo de configuración?

Respuesta1

El equipo de RabbitMQ monitoreaesta lista de correoy solo a veces responde preguntas sobre StackOverflow.


No proporciona detalles sobre qué versión de RabbitMQ, versión de Erlang, sistema operativo o biblioteca Node.js está utilizando. En el futuro, proporcione siempre a las personas detalles como este para que les resulte más fácil ayudar.

Dado que es nuevo en la agrupación en clústeres de RabbitMQ, le recomiendo que lea nuestra documentación: https://www.rabbitmq.com/clustering.html

¿Necesito configurar el clúster en ambos nodos de RabbitMQ (nodo1 y nodo2)?

Ambos nodos deben ejecutar la misma versión de RabbitMQ y Erlang. El clúster se crea de acuerdo con la documentación ejecutando los comandos de agrupación en clústeres en un nodo. Si tuvo éxito, el rabbitmqctl cluster_statuscomando así lo indicará.

2) ¿Cuál sería la nueva URL que debo incluir en el archivo de configuración?

Supongo que estás usando elsquaremo/amqp.nodebiblioteca. Esa biblioteca no admite el suministro de múltiples hosts en el URI de conexión. Debe implementarlo usted mismo y también deberá implementar la recuperación de la conexión usted mismo. Por favor miraeste problema de GitHub.

Sin embargo, una biblioteca que admite múltiples nodos y reconexión se llamarascal. Puedes usar rascalo pedir prestado código (aquí por ejemplo).

información relacionada