1. etcd
etcd 是一种强一致性的分布式键值存储,用于分布式系统中最关键数据的分布式、可靠的键值存储。
etcd 提供了一种可靠的方法,可以在一组机器上存储数据,具有最佳的稳定性、可靠性、可伸缩性和性能。
etcd 优雅地处理网络分区期间的 leader 选举,并且可以容忍机器故障。
使用 Go 编写,etcd 拥有无与伦比的跨平台支持,小型二进制文件和蓬勃发展的贡献者社区。
它还集成了现有的云原生工具,如 Prometheus 监控,可以跟踪重要指标,如来自 etcd 领导者的延迟,并提供警报和仪表板。
etcd 的其他常见用例,包括将重要的应用程序配置,如数据库连接详细信息或功能标记存储为键值对。可以监视这些值,允许应用程序在更改时重新配置。高级用法利用一致性保证来实现数据库领导者选举或跨工作集群进行分布式锁定。
该项目在 CNCF 托管:
- CNCF 分层:编排和管理
- CNCF 分类:协调和服务发现
- CNCF 成熟度:已毕业
1.1. 产品特性
- 接口简单: 可以使用标准 HTTP 工具(如 curl )读写值
- KV 存储: 将数据存储在分层组织的目录中,就像在标准文件系统中一样
- 检测变动: 监视特定键或目录的更改,并对值的更改作出反应
1.2. 适用场景
- Kubernetes 使用 etcd
- CoreDNS 使用 etcd
- Rook 使用 etcd
- M3 使用 etcd
- Vitess 使用 etcd
- 共享配置
- 服务发现
- 分布式锁或一致性保障
- 分布式数据队列
- 分布式通知和协调
- 集群选举