Rust로 작성된 Redis·Valkey 호환 인메모리 키-값 서버로, 전문 검색과 벡터 검색 기능을 기본 제공합니다.
etcd-io/etcd
Raft 합의와 gRPC API를 기반으로 분산 시스템의 핵심 데이터를 저장하는 분산형 고신뢰 키-값 저장소입니다.
- 스타
- 52,401
- 포크
- 10,541
- 열린 이슈
- 391
- 마지막 커밋
- 8시간 전
어떤 프로젝트인가요?
etcd는 Go로 작성된 분산형 키-값 저장소입니다. Raft 합의 알고리즘을 사용해 클러스터 구성원 간에 데이터를 복제하므로, 개별 구성원에 장애가 발생해도 클러스터의 가용성과 일관성을 유지합니다. 클라이언트는 gRPC API를 통해 etcd와 통신하며, 프로젝트에는 키를 읽고 쓰는 명령줄 클라이언트 etcdctl이 포함되어 있습니다.
etcd는 대용량 저장소가 아니라 구성 정보와 서비스 메타데이터처럼 작지만 중요한 조정 데이터를 저장하는 데 중점을 둡니다. 자동 TLS와 선택적 클라이언트 인증서 인증을 지원합니다. 클러스터 구성원은 기본적으로 포트 2380에서 서로 통신하고, 클라이언트는 포트 2379로 연결합니다.
etcd는 Kubernetes의 백엔드 저장소로 널리 사용되며, 다른 분산 시스템 프로젝트와 함께 활용됩니다. 저장소에는 Procfile과 goreman을 통한 로컬 다중 구성원 클러스터 구성 방법과 v3 API용 Go 클라이언트 라이브러리가 포함되어 있습니다.
핵심 기능
- 01Raft 기반 복제로 구성원에 장애가 발생해도 클러스터의 일관성과 가용성을 유지합니다.
- 02키 읽기, 쓰기, 감시를 위한 명확하게 정의된 gRPC API를 제공합니다.
- 03선택적 클라이언트 인증서 인증과 함께 자동 TLS를 지원합니다.
- 04클러스터와 상호작용할 수 있는 명령줄 클라이언트 etcdctl을 제공합니다.
- 05v3 API용 Go 클라이언트 라이브러리를 제공합니다.
- 06Procfile과 goreman을 사용해 로컬 다중 구성원 클러스터를 구성할 수 있습니다.
활용 사례
- Kubernetes 컨트롤 플레인의 클러스터 상태와 구성 정보를 저장합니다.
- 분산 애플리케이션 전반에서 서비스 검색과 조정을 지원합니다.
- 여러 서버에 걸쳐 작지만 중요한 메타데이터의 일관성을 유지합니다.
- 로컬에서 Raft 기반 분산 시스템을 학습하거나 테스트합니다.
빠른 시작
- 1
릴리스 페이지에서 미리 빌드된 릴리스 바이너리를 다운로드합니다
- 2
단일 멤버 etcd 서버를 시작합니다
/tmp/etcd-download-test/etcd - 3
etcdctl로 키를 설정합니다
etcdctl put mykey "this is awesome" - 4
etcdctl로 키를 가져옵니다
etcdctl get mykey
사용 전 알아둘 점
- 여러 멤버로 구성된 로컬 클러스터를 실행하려면 goreman을 설치하고 저장소의 Procfile을 사용해야 합니다.
- main 브랜치는 불안정하거나 제대로 작동하지 않을 수 있으므로 프로덕션 환경에서는 태그가 지정된 릴리스를 사용하세요.
토픽
자주 묻는 질문
- etcd은(는) 무엇인가요?
- Raft 합의와 gRPC API를 기반으로 분산 시스템의 핵심 데이터를 저장하는 분산형 고신뢰 키-값 저장소입니다. etcd는 Go로 작성된 분산형 키-값 저장소입니다. Raft 합의 알고리즘을 사용해 클러스터 구성원 간에 데이터를 복제하므로, 개별 구성원에 장애가 발생해도 클러스터의 가용성과 일관성을 유지합니다. 클라이언트는 gRPC API를 통해 etcd와 통신하며, 프로젝트에는 키를 읽고 쓰는 명령줄 클라이언트 etcdctl이 포함되어 있습니다.
- etcd은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- etcd은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- etcd은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. etcd의 마지막 커밋은 2026년 10월 19일입니다.
- etcd은(는) 어디에 사용할 수 있나요?
- Kubernetes 컨트롤 플레인의 클러스터 상태와 구성 정보를 저장합니다. 분산 애플리케이션 전반에서 서비스 검색과 조정을 지원합니다. 여러 서버에 걸쳐 작지만 중요한 메타데이터의 일관성을 유지합니다. 로컬에서 Raft 기반 분산 시스템을 학습하거나 테스트합니다.
- etcd는 어떻게 설치하나요?
- 릴리스 페이지에서 미리 빌드된 릴리스 바이너리를 다운로드합니다 단일 멤버 etcd 서버를 시작합니다: /tmp/etcd-download-test/etcd etcdctl로 키를 설정합니다: etcdctl put mykey "this is awesome" etcdctl로 키를 가져옵니다: etcdctl get mykey
- etcd은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/etcd-io/etcd
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Trivy는 컨테이너, 파일 시스템, Git 저장소, VM 이미지, Kubernetes에서 취약점, 잘못된 설정, 비밀 정보와 SBOM 데이터를 찾아내는 오픈소스 보안 스캐너입니다.
Helm은 재사용 가능한 Chart로 패키징된 앱을 설치하고 관리하는 Kubernetes 패키지 관리자입니다.
AX는 Kubernetes 클러스터에서 다수의 샌드박스 자율 에이전트 작업을 실행하는 오픈소스 선언형 오케스트레이터입니다.
여러 ML 프레임워크의 예측형 및 생성형 AI 모델을 대규모로 배포하고 서빙하는 Kubernetes 네이티브 플랫폼입니다.
Airbnb, Netflix, Uber, Stripe 등의 기업이 공개한 엔지니어링 블로그 글 300여 편을 기업별로 정리한 목록입니다.