Saludos,ZooKeeper y RabbitMQ/Qpid juntos: ¿excesivo o una buena combinación?
Estoy evaluando algunos componentes para un sistema distribuido de centros de datos múltiples. Vamos a utilizar colas de mensajes (a través de RabbitMQ o Qpid) para que los agentes puedan realizar solicitudes asincrónicas a otros agentes sin preocuparse por el direccionamiento, el enrutamiento, el equilibrio de carga o la retransmisión.
En muchos casos, los agentes interactuarán con componentes que no fueron diseñados para un acceso altamente simultáneo, por lo que se necesitará la coordinación de bloqueo y agentes cruzados para evitar condiciones de carrera. Además, nos gustaría que el sistema responda automáticamente a las fallas del agente o del centro de datos.
Teniendo en cuenta los casos de uso anteriores, ZooKeeper parece que podría ser una buena opción. Pero me pregunto si tratar de usar tanto ZK como la cola de mensajes es excesivo. Parece que lo que Zookeeper hace podría ser logrado por mi propio administrador de clusters usando la mensajería AMQP, pero eso sería difícil de conseguir realmente correcto. Por otro lado, he visto algunos ejemplos en los que ZooKeeper se utilizó para implementar cola de mensajes, pero creo que RabbitMQ/Qpid son más naturales para eso.
¿Alguien ha usado una combinación como esta?
Gracias de antemano,
-Chris
Hola Chris, ¿has encontrado la respuesta a esta pregunta? ¿Con qué terminaste yendo? Gracias, Ilya – Ilya
Estos son probablemente algunos de los ejemplos a los que se refiere, agregando los enlaces aquí para otros usuarios: http: //www.cloudera.com/blog/2009/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/y http://zookeeper-user.578899.n2.nabble.com/Task-Job-distribution-using-ZooKeeper -td6096815.html – dgorissen
Terminamos yendo con Qpid para mensajería y hemos postergado la implementación de un servicio de coordinación distribuida como ZooKeeper. Sigo siendo un gran admirador de ZK, pero nuestro rendimiento no es lo suficientemente alto como para justificar la complejidad adicional. Estamos viendo algún mecanismo de bloqueo distribuido dentro del centro de datos, probablemente respaldado por MySQL o Redis. Más adelante, podemos graduarnos en ZooKeeper. –