etcd Etcd 是 CoreOS 基于 Raft 开发的分布式 key-value 存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)。 Etcd 主要功能 基本的 key-value 存储 监听机制 key 的过期及续约机制,用于监控和服务发现 原子 CAS 和 CAD,用于分布式锁和 leader 选举 Etcd 基于 RAFT 的一致性 选举方法 1\) 初始启动时,节点处于 follower 状态并被设定一个 election timeout,如果在这一时间周期内没有收到来自 leader 的 heartbeat,节点将发起选举:将自己切换为 candidate 之后,向集群中其它 follower 节点发送请求,询问其是否选举自己成为 leader。