发布于 2016-07-01 00:32:24 | 247 次阅读 | 评论: 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 3.0标志着etcd 3.0的第一个稳定版本的API和数据模型发布,升级很简单,因为同样的etcd2 JSON的端点和内部的集群协议在etcd3仍然提供。尽管如此,但etcd3是基于etcd2用户和实践经验的反馈对API进行大规模的重新设计的。值得关注的更新内容有效率,可靠性和并发控制等一些显著的改进。
更新日志:
Improved latency and throughput
Less protocol overhead via gRPC API layer
Better disk utilization in write ahead log
New storage backend: lower memory overhead per key
Automatic TLS configuration
Some highlights of the new stable etcd3 API:
Flat binary keyspace: no key-value hierarchy / directories
Support key get and watch by prefix
Support key get and watch by interval
Multiversion keyspace: access historical revisions of keys
Transactions: combine multiple requests into one operation
Leases: a single TTL for sets of keys
Maintenance/Alarm: protect etcd from accidental overutilization with storage quotas
Some highlights of new etcdctl:
Mirror: mirror etcd to another data center
Lock: mutex on top of etcd
Elect: leader election
Snapshot: stores point-in-time state of etcd backend
Endpoint: health checking
Experimental Features/APIs:
v3 Auth API
etcd gateway subcommand
下载地址:https://github.com/coreos/etcd/releases/tag/v3.0.0