He estado mirando Zookeeper recientemente y me pregunté si alguien lo estaba usando actualmente y qué lo estaban usando específicamente para almacenar.
El caso de uso más común es para la información de configuración, pero ¿qué tipo de datos y cuántos datos está almacenando?
Respuestas:
La implementación Apache CXF de DOSGi usa zookeeper para su repositorio de registro de servicios. Los contenedores individuales tienen un paquete de software distribuido (dsw) que escucha todos los eventos de servicio y cuando cambia el estado de un servicio que tiene una propiedad que indica la distribución. El dsw habla con el paquete de descubrimiento que, en el caso de implementación de referencia, utiliza zookeeper para almacenar el servicio como nodos efímeros. Otras instancias buscarán cambios en la estructura del nodo y registrarán proxies en sus sistemas locales. El resultado final es que puede codificar para OSGi simple y terminar con una distribución transparente.
fuente
Proyectos de software libre impulsados por ZooKeeper:
Proyectos de Apache con tecnología de ZooKeeper:
Fuente: https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy
fuente
HBase utiliza Zookeeper para coordinar actividades de las que su "nodo principal" era responsable antes de la versión actual. El paso a usar Zookeeper significa que el control central ya no es un solo punto de falla.
Zookeeper es muy versátil; Aquí hay un ejemplo de cómo usarlo para crear una cola concurrente distribuida:
http://blog.cloudera.com/blog/2009/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/
Por supuesto, también puede usarlo para crear bloqueos de recursos, etc., en un sistema distribuido.
fuente
Antigua pregunta, pero como esta página aparece primero en una búsqueda en Google de casos de uso de zookeeper, pensé que sería mejor dar una lista actualizada
fuente
Norbert es un buen ejemplo de un sistema de producción escalable. En general, integra Netty, Protocol Buffers y Zookeeper en un marco ligero para ejecutar servicios en clúster. Los Buffers de protocolo se usan para especificar la API de su servicio, Netty implementa abstracciones de la capa de transporte y Zookeeper es esencialmente un servicio de descubrimiento tolerante a fallas.
Cada vez que se inicia una instancia de servicio, Norbert la registra como instancia disponible de un tipo de servicio en particular. Desde la perspectiva de la implementación, crea dos árboles de Zookeeper:
La propiedad más importante para cada nodo es la url que se usará para conectarse a la instancia de servicio correspondiente. Permite el equilibrio de carga del lado del cliente: un cliente de Norbert encuentra la lista de direcciones URL para un nombre de servicio dado e intenta conectarse a una de ellas en algún orden (por ejemplo, round robin o aleatorio).
fuente
Hay un buen artículo sobre ZooKeeper - The King of Coordination sobre ZooKeeper en Elastic Cloud.
fuente
Solr también está trabajando para integrar ZooKeeper . Aquí puede ver que están utilizando para configuración dinámica, fragmentación, eliminación de SPOF (elección maestro / esclavo), reequilibrio, etc.
fuente
Storm usa Zookeeper para almacenar todo el estado para que pueda recuperarse de una interrupción en cualquiera de sus servicios componentes (distribuidos).
Esto permite que los servicios de componentes no tengan estado y simplemente se descarguen o se sincronicen con los servidores de Zookeeper cuando se necesiten datos de configuración. Si alguna vez ha tenido que recuperar un servidor de producción, ¡sabrá qué dolor de cabeza puede ser!
Los consumidores de la cola Kafka pueden usar Zookeeper para almacenar información (marca de límite superior) sobre lo que se ha consumido de la cola.
fuente
En mi caso, estamos almacenando archivos de configuración en el conjunto zookeeper para el uso del clúster. Estamos utilizando el esquema líder -> seguidor. Entonces, cuando un cuidador del zoológico está inactivo, cambiamos por otro (modo replicado)
fuente
Zookeeper se usó para muchas otras cosas además de la configuración. Aquí hay una lista oficial de primitivas distribuidas de implementos usando zookeeper.
https://zookeeper.apache.org/doc/current/recipes.html
fuente
¡Neo4j usa Zookeeper su servidor empresarial de alta disponibilidad! http://docs.neo4j.org/chunked/milestone/ha.html
fuente
datomic utiliza apache zookeeper para gestionar el almacenamiento de datos basado en riak.
fuente
Aquí hay algunos detalles sobre cómo HBase usa ZooKeeper , incluida información sobre cómo piensan usarlo en el futuro. En general, lo usan para eliminar SPOF en los servidores de la región a través de la elección de Líder implementada usando ZooKeeper.
fuente