etcd是一个开源的分布式键值对存储工具。在每个coreos节点上面运行的etcd,共同组建了coreos集群的共享数据总线。etcd可以保证coreos集群的稳定,可靠。当集群网络出现动荡,或者当前master节点出现异常时,etcd可以优雅的进行master节点的选举工作,同时恢复集群中损失的数据。
etcd为分布式系统提供可靠的键值存储。可以用在系统的降级处理、服务的发现、配置的共享等多个方面。而Etcd本质上与一个NoSQL的数据库基本没有差别,但更准确的说法说是一个高可用的键值存储系统,并且etcd提供了TTL和订阅与发布(Subscript/Public)功能。与一般的NoSQL数据库不同,Etcd在设计的初衷主要用于是共享配置和服务发现,它的灵感来自于ZooKeeper和Doozer。(Etcd是CoreOS生态系统中处于连接各个节点通信和支撑集群服务协同运作的核心地位的模)
etcd有如下的功能:
- 简单可靠,API丰富(支持http,jason)
- 支持客户端通过SSL认证,保证安全性
- 每个实例可以支持每秒1000次写操作
- 基于RAFT协议完成分布式操作
- 通过http轮询,监听网络变化