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.Apache ZooKeeper Essentials. A fast-paced guide to using Apache Zookeeper to coordinate services in distributed systems. Saurav Haloi. Pack Publishing 2015
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!http://hadoop.apache.org/zookeeper/docs/current/zookeeperOver.html ZooKeeper Overview: A Distributed Coordination Service for Distributed Applications 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
Véase también Hadoop
Referencias
Enlaces externos Página web de ZooKeeper Artículo en highscalability.com (en inglés) Vídeo en Yahoo! developer network (en inglés) Software Development Times article of ZooKeeper moving to Apache (in english) (en inglés) Eclipse ECF Discovery based on Apache ZooKeeper
ZooKeeper Categoría:Software libre programado en Java