etcd:用于服务发现的键值存储系统 - 开源中国社区
etcd:用于服务发现的键值存储系统
夕水溪下 2014年07月29日

etcd:用于服务发现的键值存储系统

夕水溪下 夕水溪下 发布于2014年07月29日 收藏 96 评论 7

【腾讯云】如何快速搭建微信小程序?>>>  

etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeperDoozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复制,Raft通过选举的方式来实现一致性,在Raft中,任何一个节点都可能成为Leader。Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了etcd。

在分布式系统中,如何管理节点间的状态一直是一个难题,etcd像是专门为集群环境的服务发现和注册而设计,它提供了数据TTL失效、数据改变监视、多值、目录监听、分布式锁原子操作等功能,可以方便的跟踪并管理集群节点的状态。etcd目前的版本是0.4.5,虽然未发布1.0版本(今年会发布),但其已经使用在多个生产系统中,可见其火热程度。etcd的特性如下:

  • 简单: curl可访问的用户的API(HTTP+JSON)

  • 安全: 可选的SSL客户端证书认证

  • 快速: 单实例每秒 1000 次写操作

  • 可靠: 使用Raft保证一致性

etcd是CoreOS的核心组件,负责节点间的服务发现和配置共享,运行在CoreOS中的应用可以通过etcd读取或者写入数据。虽然etcd是为CoreOS而设计,但其可以运行在多个平台上,包括 OS X、Linux、BSD。

Jason Wilder的一篇博客对常见的服务发现开源项目Zookeeper、Doozer、etcd进行了介绍:

Zookeeper是一个用户维护配置信息、命名、分布式同步以及分组服务的集中式服务框架,它使用Java语言编写,通过Zab协议来保证节点的一致性。因为Zookeeper是一个CP型系统,所以当网络分区问题发生时,系统就不能注册或查找服务。

Doozer是一个一致性的、分布式存储系统,使用Go语言编写,通过Paxos来保证强一致性,Doozer项目目前已经停止更新并有将近160个分支。和Zookeeper一样,Doozer也是一个CP型系统,在网络分区问题发生时,会有同样的问题。

etcd是一个用于共享配置和服务发现的高可用的键值存储系统,使用Go语言编写,通过Raft来保证一致性,有基于HTTP+JSON的API接口。etcd也是一个强一致性系统,但是etcd似乎支持从non-leaders中读取数据以提高可用性;另外,写操作仍然需要leader的支持,所以在网络分区时,写操作仍可能失败。

目前有很多支持etcd的库和工具,比如命令行客户端工具etcdctl、Go客户端go-etcd、Java客户端jetcd。关于etcd的使用和安装读者可以参考官方文档

via InfoQ

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:etcd:用于服务发现的键值存储系统
分享
评论(7)
最新评论
0

引用来自“xiaorui521”的评论

我这边写了几篇etcd的文章 ,有兴趣的朋友可以看看。


http://xiaorui.cc/tag/etcd/

http://xiaorui.cc/2015/10/14/%E5%85%B3%E4%BA%8E%E6%95%B0%E6%8D%AE%E5%86%99%E5%85%A5%E7%9A%84etcd-http-api%E6%96%87%E6%A1%A3%E8%A7%A3%E9%87%8Apython/
nice
0
我这边写了几篇etcd的文章 ,有兴趣的朋友可以看看。


http://xiaorui.cc/tag/etcd/

http://xiaorui.cc/2015/10/14/%E5%85%B3%E4%BA%8E%E6%95%B0%E6%8D%AE%E5%86%99%E5%85%A5%E7%9A%84etcd-http-api%E6%96%87%E6%A1%A3%E8%A7%A3%E9%87%8Apython/
0

引用来自“包菜兄”的评论

我厂也开始研究这个了。哈哈。
现在还在做Python开发么?还在北京否?很高兴认识你,如果还在做技术的话,有机会可以加QQ交流哦:1524583347
0
持续关注etcd与nsq
0
etcd是个好东西
0
我厂也开始研究这个了。哈哈。
0
老大很看好这个
顶部