Repolode
etcd-io

etcd-io/etcd

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.

Estrellas
52,401
Forks
10,541
Issues abiertos
391
Último commit
hace 8 horas

¿Qué es?

etcd es un almacén distribuido de clave-valor escrito en Go. Mantiene los datos replicados entre los miembros de un clúster mediante el algoritmo de consenso Raft, de modo que el clúster sigue disponible y es consistente cuando falla algún miembro. Los clientes interactúan con él a través de una API gRPC, y el proyecto incluye etcdctl, un cliente de línea de comandos para leer y escribir claves.

El proyecto se centra en almacenar pequeñas cantidades de datos críticos de coordinación, como configuración y metadatos de servicios, en lugar de grandes volúmenes de datos. Admite TLS automático y autenticación opcional mediante certificados de cliente. Los miembros del clúster se comunican por el puerto 2380 y, de forma predeterminada, los clientes se conectan por el puerto 2379.

etcd se usa ampliamente como almacén de respaldo de Kubernetes y se combina con otros proyectos de sistemas distribuidos. El repositorio incluye una configuración de clúster local con varios miembros mediante Procfile y goreman, además de bibliotecas cliente de Go para la API v3.

Funciones clave

  • 01La replicación basada en Raft mantiene el clúster consistente y disponible cuando fallan miembros.
  • 02API gRPC bien definida para leer, escribir y observar claves.
  • 03TLS automático con autenticación opcional mediante certificados de cliente.
  • 04Cliente de línea de comandos etcdctl para interactuar con el clúster.
  • 05Bibliotecas cliente de Go para la API v3.
  • 06Configuración local de un clúster con varios miembros mediante Procfile y goreman.

Casos de uso

  • Almacenar el estado y la configuración del clúster en los planos de control de Kubernetes.
  • Descubrir servicios y coordinar aplicaciones distribuidas.
  • Mantener metadatos pequeños y críticos consistentes entre varios servidores.
  • Aprender sobre sistemas distribuidos basados en Raft o probarlos localmente.

Inicio rápido

  1. 1

    Descarga un binario de lanzamiento precompilado desde la página de lanzamientos

  2. 2

    Inicia un servidor etcd de un solo miembro

    /tmp/etcd-download-test/etcd
  3. 3

    Establece una clave con etcdctl

    etcdctl put mykey "this is awesome"
  4. 4

    Recupera la clave con etcdctl

    etcdctl get mykey

Antes de usarlo

  • Para ejecutar un clúster local de varios miembros, hay que instalar goreman y usar el Procfile del repositorio.
  • La rama main puede ser inestable o no funcionar correctamente; usa versiones etiquetadas en producción.

Temas

Preguntas frecuentes

¿Qué es etcd?
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. etcd es un almacén distribuido de clave-valor escrito en Go. Mantiene los datos replicados entre los miembros de un clúster mediante el algoritmo de consenso Raft, de modo que el clúster sigue disponible y es consistente cuando falla algún miembro. Los clientes interactúan con él a través de una API gRPC, y el proyecto incluye etcdctl, un cliente de línea de comandos para leer y escribir claves.
¿etcd es gratuito? ¿Qué licencia tiene?
etcd es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿etcd sigue mantenido?
Mantenimiento activo. El último commit de etcd fue el 19 oct 2026.
¿Para qué puedo usar etcd?
Almacenar el estado y la configuración del clúster en los planos de control de Kubernetes. Descubrir servicios y coordinar aplicaciones distribuidas. Mantener metadatos pequeños y críticos consistentes entre varios servidores. Aprender sobre sistemas distribuidos basados en Raft o probarlos localmente.
¿Cómo se instala etcd?
Descarga un binario de lanzamiento precompilado desde la página de lanzamientos Inicia un servidor etcd de un solo miembro: /tmp/etcd-download-test/etcd Establece una clave con etcdctl: etcdctl put mykey "this is awesome" Recupera la clave con etcdctl: etcdctl get mykey
¿Dónde consigo etcd?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/etcd-io/etcd

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados