Uso del mundo real de Zookeeper [cerrado]


He estado mirando Zookeeper recientemente y me pregunté si alguien lo estaba usando actualmente y qué lo estaban usando específicamente para almacenarlo.

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?

Author: Jon , 2009-09-26

13 answers

La implementación de Apache CXF de DOSGi utiliza 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 discovery bundle 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 proxies en sus sistemas locales. El resultado final es que puede codificar a OSGi llano y terminar con la distribución transparente.

 13
Author: John Ellinwood,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-26 21:16:46

HBase usa Zookeeper para coordinar las actividades de su "nodo principal" antes de la versión actual. El paso a usar Zookeeper significa que el control central ya no es un único punto de falla.

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

 16
Author: SquareCog,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-01 16:01:02

Vieja pregunta, pero ya que esta página aparece primero en una búsqueda de Google para casos de uso de zookeeper, pensé que sería mejor dar un listado actualizado

  1. wikipedia
  2. zookeeper wiki
  3. usuarios reales
 14
Author: manku,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-25 07:24:57
 13
Author: dln385,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-22 15:26:32

Norbert es un buen ejemplo de un sistema de producción escalable. I general, integra Netty, Protocolo Buffers y Zookeeper en un marco ligero para ejecutar servicios en clúster. Los búferes de protocolo se utilizan para especificar su API de servicio, Netty implementa abstracciones de capa de transporte y Zookeeper es esencialmente un servicio de detección tolerante a errores.

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

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

La propiedad más importante para cada nodo es la url que se utilizará para conectarse a la instancia de servicio correspondiente. Habilita el equilibrio de carga del lado del cliente: un cliente Norbert encuentra la lista de URL para un nombre de servicio dado e intenta conectarse a uno de ellos es algún orden (por ejemplo, round-robin o aleatorio).

 9
Author: ndolgov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-12 07:45:12

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

 4
Author: phunt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-22 14:54:51

Hay un buen artículo ZooKeeper - El Rey de la Coordinación sobre ZooKeeper en Found.

 4
Author: herodot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-22 06:25:02
  • Storm es utilizado por un número de empresas (Twitter y Groupon son dos de las más conocidas) y se basa en Zookeeper.
  • Kafka es utilizado por Linkedin y se basa en Zookeeper.

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

Esto permite que los servicios de componentes sean apátridas y simplemente se descarguen o sincronicen con los servidores de Zookeeper cuando se necesitan datos de configuración. Si alguna vez ha tenido que recuperar un servidor de producción, sabrá lo que puede ser un dolor de cabeza.

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

 3
Author: Thomas Bratt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-01 15:44:30

Zookeeper se utilizó para muchas otras cosas además de la configuración. Aquí está una lista oficial de implementar primitivas distribuidas usando zookeeper.

Http://zookeeper.apache.org/doc/trunk/recipes.html

 2
Author: liheyuan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-17 02:12:27

En mi caso, estamos almacenando archivos de configuración en zookeeper ensemble para el uso del clúster . Estamos usando el esquema leader -> follower . Así que cuando un zookeeper abajo se cambia por otro (modo replicado)

 2
Author: Oleksandr Kovtunenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-03 09:34:21

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

 1
Author: John Russell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-08 06:00:28

Datomic utiliza apache zookeeper para administrar el almacenamiento de datos basado en riak.

Debido a que Riak solo soporta 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 conmutación por error de transactores y para el puñado de claves por base de datos que deben actualizarse con CA. fuente: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html

 1
Author: mavbozo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-13 14:46:30

Aquí hay algunos detalles sobre cómo HBase usa ZooKeeper, incluida información sobre cómo piensan usarlo en el futuro. Generalmente lo usan para eliminar SPOF en los servidores de la región a través de la elección de líderes implementada usando ZooKeeper.

 0
Author: phunt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-22 14:54:00