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_status
comando 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 rascal
o pedir prestado código (aquí por ejemplo).