Repolode
etcd-io

etcd-io/etcd

Armazenamento distribuído e confiável de chave-valor para os dados mais críticos de sistemas distribuídos, baseado no consenso Raft e com API gRPC.

Estrelas
52,401
Forks
10,541
Issues abertas
391
Último commit
há 7 horas

O que é?

etcd é um armazenamento distribuído de chave-valor escrito em Go. Ele replica os dados entre os membros de um cluster usando o algoritmo de consenso Raft, mantendo o cluster disponível e consistente quando membros individuais falham. Os clientes interagem com ele por meio de uma API gRPC, e o projeto inclui o etcdctl, um cliente de linha de comando para ler e gravar chaves.

O projeto é voltado ao armazenamento de pequenos dados críticos de coordenação, como configurações e metadados de serviços, em vez de grandes volumes de dados. Ele oferece TLS automático e autenticação opcional por certificado de cliente. Por padrão, os membros do cluster se comunicam pela porta 2380, e os clientes se conectam pela porta 2379.

O etcd é amplamente usado como armazenamento de apoio do Kubernetes e é combinado com outros projetos de sistemas distribuídos. O repositório inclui uma configuração local de cluster com vários membros usando Procfile e goreman, além de bibliotecas cliente em Go para a API v3.

Recursos principais

  • 01A replicação baseada em Raft mantém o cluster consistente e disponível quando há falhas nos membros.
  • 02API gRPC bem definida para ler, gravar e observar chaves.
  • 03TLS automático com autenticação opcional por certificado de cliente.
  • 04Cliente de linha de comando etcdctl para interagir com o cluster.
  • 05Bibliotecas cliente em Go para a API v3.
  • 06Configuração local de cluster com vários membros usando Procfile e goreman.

Casos de uso

  • Armazenar o estado e a configuração do cluster em planos de controle do Kubernetes.
  • Descoberta de serviços e coordenação entre aplicações distribuídas.
  • Manter metadados pequenos e críticos consistentes entre vários servidores.
  • Aprender sobre sistemas distribuídos baseados em Raft ou testá-los localmente.

Início rápido

  1. 1

    Baixe um binário de release pré-compilado na página de releases

  2. 2

    Inicie um servidor etcd de membro único

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

    Defina uma chave com o etcdctl

    etcdctl put mykey "this is awesome"
  4. 4

    Recupere a chave com o etcdctl

    etcdctl get mykey

Antes de usar

  • Para executar um cluster local com vários membros, é necessário instalar o goreman e usar o Procfile do repositório.
  • A branch main pode estar instável ou apresentar problemas; use releases com tag em produção.

Tópicos

Perguntas frequentes

O que é etcd?
Armazenamento distribuído e confiável de chave-valor para os dados mais críticos de sistemas distribuídos, baseado no consenso Raft e com API gRPC. etcd é um armazenamento distribuído de chave-valor escrito em Go. Ele replica os dados entre os membros de um cluster usando o algoritmo de consenso Raft, mantendo o cluster disponível e consistente quando membros individuais falham. Os clientes interagem com ele por meio de uma API gRPC, e o projeto inclui o etcdctl, um cliente de linha de comando para ler e gravar chaves.
etcd é gratuito? Qual é a licença?
etcd é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
etcd ainda é mantido?
Manutenção ativa. O último commit de etcd foi em 19 de out. de 2026.
Para que posso usar etcd?
Armazenar o estado e a configuração do cluster em planos de controle do Kubernetes. Descoberta de serviços e coordenação entre aplicações distribuídas. Manter metadados pequenos e críticos consistentes entre vários servidores. Aprender sobre sistemas distribuídos baseados em Raft ou testá-los localmente.
Como instalar etcd?
Baixe um binário de release pré-compilado na página de releases Inicie um servidor etcd de membro único: /tmp/etcd-download-test/etcd Defina uma chave com o etcdctl: etcdctl put mykey "this is awesome" Recupere a chave com o etcdctl: etcdctl get mykey
Onde consigo etcd?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/etcd-io/etcd

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados