exportar desde java configuration apache-zookeeper distributed

exportar a pdf desde java netbeans



Uso del mundo real de Zookeeper (15)

¡Neo4j utiliza Zookeeper su servidor de empresa de alta disponibilidad! http://docs.neo4j.org/chunked/milestone/ha.html

Hace poco estuve mirando Zookeeper y me pregunté si alguien lo estaba usando actualmente y qué estaban usando específicamente para almacenar.

El caso de uso más común es para información de configuración, pero ¿qué tipo de datos y cuántos datos está almacenando?


Aquí hay algunos detalles sobre cómo HBase usa ZooKeeper , incluida información sobre cómo piensan usarlo en el futuro. En general, lo utilizan para eliminar SPOF en los servidores de la región a través de la elección de Leader implementada con ZooKeeper.


En mi caso, estamos almacenando archivos de configuración en conjunto de zookeeper para uso del clúster. Estamos utilizando el líder -> esquema del seguidor. Entonces, cuando uno de los zoológicos está abajo, cambiamos a otro (modo replicado)


HBase utiliza Zookeeper para coordinar las actividades de su "nodo principal" fue responsable antes de la versión actual. La decisión de utilizar Zookeeper significa que el control central ya no es un único punto de falla.

Zookeeper es muy versátil; aquí hay un ejemplo de su uso para construir 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.



La implementación Apache CXF de DOSGi usa zookeeper para su repositorio de registro de servicio. 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, usa el 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 OSGi simple y terminar con distribución transparente.


No conozco los detalles de cómo se usa, pero sé que la última versión de HBase (una implementación de código abierto de BigTable) usa ZooKeeper.


Solr también está trabajando para integrar ZooKeeper . Aquí puede ver que están utilizando la configuración dinámica, fragmentación, eliminación SPOF (elección maestro / esclavo), reequilibrio, etc.


Una vieja pregunta, pero dado que 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

  1. wikipedia
  2. zookeeper wiki
  3. usuarios reales


Norbert es un buen ejemplo de un sistema de producción escalable. En general, integra Netty, Protocol Buffers y Zookeeper en un marco liviano para ejecutar servicios en clúster. Los búfers de protocolo se usan para especificar su API de servicio, Netty implementa abstracciones de capa de transporte y Zookeeper es esencialmente un servicio de descubrimiento tolerante a errores.

Cada vez que se inicia una instancia de servicio, Norbert la registra como instancia disponible de un tipo de servicio particular. Desde la perspectiva de implementación, crea dos árboles Zookeeper:

  • "/ ServiceName / members" que enumera todas las instancias conocidas del servicio
  • "/ ServiceName / available" que enumera las instancias disponibles actualmente del servicio

La propiedad más importante para cada nodo es la url a usar para conectarse a la instancia de servicio correspondiente. Permite el equilibrio de carga del lado del cliente: un cliente de Norbert encuentra que la lista de URL para un nombre de servicio determinado e intentar conectarse a una de ellas es un poco de orden (por ejemplo, alternar o al azar).


datomic utiliza apache zookeeper para gestionar el almacenamiento de datos basado en riak.

Debido a que Riak solo admite consistencia eventual en este momento, un sistema Datomic que se ejecuta en Riak también utiliza Apache ZooKeeper, un servicio de coordinación altamente disponible. Datomic utiliza ZooKeeper para la coordinación de failover de transactores, y para el puñado de claves por base de datos que deben actualizarse con CAS. fuente: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html


Zookeeper no es para almacenar datos, es solo para almacenar nodos. Se usa para verificar si el cliente está disponible o no.



  • Storm es utilizado por varias compañías (Twitter y Groupon son dos de las más conocidas) y depende de Zookeeper.
  • Kafka es utilizado por Linkedin y depende de Zookeeper.

Storm utiliza Zookeeper para almacenar todo el estado de modo que pueda recuperarse de una interrupción en cualquiera de sus servicios de componentes (distribuidos).

Esto permite que los servicios de componente sean apátridas y simplemente descargar o sincronizar con los servidores de Zookeeper cuando se necesitan datos de configuración. Si alguna vez tuvo que recuperar un servidor de producción, sabrá qué dolor de cabeza puede ser.

Kafka clientes de cola de Kafka pueden usar Zookeeper para almacenar información (marca de agua alta) en lo que se ha consumido de la cola.