0
En vez de usar pacemaker-corosync usar consul.io

Solved 1 Respuestas 3 Views
Mi pregunta es la siguiente, si tengo 1 servicio por ejemplo rabbitmq corriendo en cluster en 3 nodos y quiero que mis clientes se conecten a 1 solo hostname y que esto sea redundante, la solucion a) seria poner una ip virtual con un ha-proxy y que los clientes se conecten al ha-proxy y este balancee entre los nodos que esten vivos.

Opcion b) es implementar consul.io y construir un servicio de rabbitmq, lo que hace que consul responda para un registro de dns A o SRV con los nodos disponibles de rabbitmq y el balanceo seria por dns mas que nada, y ante la caida de un nodo, consul saca el host de la respuesta y los clientes se conectan a los otros nodos.

Lo que me gusta de la opcion b es que tengo 1 componente menos y la puedo reusar mejor que la a, porque para la b necesito consul-rabbit y para la a) corosync-haproxy-rabbitmq.

Hay algo que me este perdiendo de esta configuracion? o algun tiro en el pie que no este viendo?

1 Respuesta

0
Mejor respuesta
Dns apuntando a una ip virtual con pacemaker/corosync es suficiente... para q el haproxy?
respondido por qlixed (10,610 puntos) Jun 14, 2015
seleccionada por edux Jul 11, 2015
5Comentarios
comentado por edux (11,710 puntos) Jun 14, 2015
Porque quiero balancear entre los 3 nodos.
comentado por qlixed (10,610 puntos) Jun 14, 2015
Entonces no queres un cluster pacemaker/corosync... queres un haproxy con deteccion de servico muerto

Haproxy -> ip1
Haproxy -> ip2
Haproxy -> ip3

Si el haproxy detecta q un equipo no responde,  balanceas entre los otros 2!
comentado por edux (11,710 puntos) Jun 14, 2015
claro, pero si yo publico mis 3 haproxys en un A record y asesino un par, me siguen quedando, si tuviera una vip flotaria entre las 3 y asi si conseguiria lo que quiero, pero vuelvo al principio y con consul.io estaria consiguiendo lo que quiero con 1 solo componente. no?
comentado por anónimo Jun 15, 2015
Si es especificamente rabbitmq, yo haria un haproxy + cluster rabbitmq con HA queues, mas simple.
Desconozco totalmente consul... pero veo que esta escrito en Go... o sea...
Entre algo probado y algo medio verde, preferiria algo extensivamente probado en produccion.
comentado por edux (11,710 puntos) Jun 15, 2015
claro, pero si se muere ha-proxy? la otra es cargarle todas las ips del cluster de rabbitmq a los clientes, pero eso me obliga a cambiar demasiadas configuraciones si agrego un nodo de rabbitmq por ejemplo.
...