Apache ZooKeeper
# Apache ZooKeeper

Apache ZooKeeper es un proyecto de software libre de la Apache Software Foundation, que ofrece un servicio para la coordinación de procesos distribuido y altamente confiable que da soluciones a varios problemas de coordinación para grandes sistemas distribuidos. ZooKeeper es un subproyecto de Hadoop.

El servicio implementa consenso distribuido (usa el protocolo Zookeeper Atomic Broadcast), gestión de grupos, protocolos de presencia y elección de líder. De esta forma las aplicaciones se apoyan en las primitivas expuestas por Zookeeper para resolver sus propios problemas.

Está escrito en java aunque puede ofrecer sus servicios a multitud de lenguajes como C, Perl o Python.

La arquitectura de ZooKeeper soporta alta disponibilidad a través de servicios redundantes. Los clientes pueden así preguntar a otro maestro ZooKeeper si el primero falla al responder. Los nodos ZooKeeper guardan sus datos en un espacio de nombres jerárquico, como hace un sistema de archivos o una datoestructura (estructura de datos) trie. Los clientes pueden leer y escribir desde/a los nodos y de esta forma tienen un servicio de configuración compartido.

ZooKeeper es usado por varias compañías, incluyendo Rackspace y Yahoo! así como sistemas de búsqueda empresarial open source como Solr.

## Ejemplos de uso típicos

* Servicio de nombres
* Gestión de la configuración
* Sincronización
* Elección de líder
* Cola de mensajes
* Notificación
