发布于 2015-01-29 01:47:56 | 232 次阅读 | 评论: 0 | 来源: 网友投递
etcd 高可用的 Key/Value 存储系统
etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处 理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复制,Raft通过选举的方式来实现一致性,在 Raft中,任何一个节点都可能成为Leader。Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了etcd。
etcd 2.0 发布了,这是官方首个主要的稳定版本,与上一个 0.4.6 版本比较,该版本值得关注的改进有:
内部协议的改进以避免意外的错误配置
etcdctl backup
命令用于轻松的从集群失败中恢复
etcdctl member list/add/remove
命令用于轻松管理集群
改进磁盘存储的安全性,使用 CRC 校验和只追加的行为
An improved Raft consensus implementation already used in other projects like CockroachDB
More rigorous and faster running tests of the underlying Raft implementation, covering all state machine and cases explained in the original Raft white paper in 1.5 seconds
Additional administrator focused documentation explaining common scenarios
Official IANA assigned ports for etcd TCP 2379/2380
etcd 是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现。etcd 的灵感来自于 ZooKeeper 和 Doozer,侧重于:
简单:支持 curl 方式的用户 API (HTTP+JSON)
安全:可选 SSL 客户端证书认证
快速:单实例可达每秒 1000 次写操作
可靠:使用 Raft 实现分布式