Almacén distribuido y confiable de clave-valor para los datos más críticos de un sistema distribuido, basado en el consenso Raft y con una API gRPC.
apache/zookeeper
Apache ZooKeeper es un servicio de coordinación distribuida que ofrece un almacén jerárquico de pares clave-valor para gestionar la configuración, los nombres y la sincronización en sistemas distribuidos.
- Estrellas
- 12,831
- Forks
- 7,325
- Issues abiertos
- 243
- Último commit
- ayer
¿Qué es?
Apache ZooKeeper es un servicio de coordinación basado en Java para aplicaciones distribuidas. Ofrece un espacio de nombres jerárquico compartido con pequeños nodos de datos que los clientes pueden leer, escribir y observar. Esto permite que las aplicaciones implementen sobre él primitivas como la gestión de configuración, el descubrimiento de servicios y la elección de líder.
El proyecto se distribuye como código fuente que se compila con Maven, además de archivos tar binarios que contienen los jars necesarios para ejecutar un servidor. Sus artefactos (los módulos parent, zookeeper y zookeeper-jute) se publican en Maven Central desde la versión 3.5.5, por lo que los proyectos Java pueden depender directamente de la biblioteca cliente.
ZooKeeper es un proyecto de nivel superior de Apache Software Foundation, y el repositorio incluye la configuración de CI y un flujo de trabajo para contribuir, documentado en la wiki del proyecto.
Funciones clave
- 01Espacio de nombres jerárquico de nodos de datos que los clientes pueden leer, escribir y observar.
- 02Basado en el protocolo de consenso ZAB para coordinar y replicar el estado.
- 03Bibliotecas cliente disponibles en Maven Central desde la versión 3.5.5.
- 04Paquetes de distribución binarios y de código fuente compilados con Maven.
Casos de uso
- Almacenar configuración compartida que varios servicios de un clúster necesitan leer y observar para detectar cambios.
- Implementar el descubrimiento de servicios o la elección de líder en aplicaciones Java distribuidas.
- Coordinar bloqueos distribuidos y la sincronización entre procesos.
Inicio rápido
- 1
Descarga una versión desde la página de versiones de ZooKeeper
- 2
Compila el proyecto desde el código fuente con Maven
mvn clean install
Antes de usarlo
- Se requieren Java y Maven para compilar desde el código fuente.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es zookeeper?
- Apache ZooKeeper es un servicio de coordinación distribuida que ofrece un almacén jerárquico de pares clave-valor para gestionar la configuración, los nombres y la sincronización en sistemas distribuidos. Apache ZooKeeper es un servicio de coordinación basado en Java para aplicaciones distribuidas. Ofrece un espacio de nombres jerárquico compartido con pequeños nodos de datos que los clientes pueden leer, escribir y observar. Esto permite que las aplicaciones implementen sobre él primitivas como la gestión de configuración, el descubrimiento de servicios y la elección de líder.
- ¿zookeeper es gratuito? ¿Qué licencia tiene?
- zookeeper es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿zookeeper sigue mantenido?
- Mantenimiento activo. El último commit de zookeeper fue el 6 nov 2026.
- ¿Para qué puedo usar zookeeper?
- Almacenar configuración compartida que varios servicios de un clúster necesitan leer y observar para detectar cambios. Implementar el descubrimiento de servicios o la elección de líder en aplicaciones Java distribuidas. Coordinar bloqueos distribuidos y la sincronización entre procesos.
- ¿Cómo se instala zookeeper?
- Descarga una versión desde la página de versiones de ZooKeeper Compila el proyecto desde el código fuente con Maven: mvn clean install
- ¿Dónde consigo zookeeper?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/apache/zookeeper
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Plataforma de código abierto para el descubrimiento dinámico de servicios y la gestión dinámica de configuraciones y metadatos de servicios en sistemas nativos de la nube y de microservicios.
Base de datos relacional distribuida, ligera y tolerante a fallos, basada en SQLite y replicada entre nodos mediante consenso Raft.
Sistema centralizado de gestión de configuración para microservicios, con actualizaciones en tiempo real, versiones, despliegues graduales y registros de auditoría.
Implementación en Java de Apache Dubbo, un framework de RPC y microservicios para crear comunicación, descubrimiento y gestión del tráfico entre servicios.
Una biblioteca de Go que implementa el protocolo de consenso Raft para gestionar logs replicados y máquinas de estados replicadas.