【编者的话】etcd是一个用于配置共享和服务发现的高性能的键值存储系统。1月28日,CoreOS官方宣布发布etcd 2.0,这是etcd史上首个稳定的大版本。这篇文章来自于CoreOS的CTO Brandon Philips,他在文中描述了etcd 2.0的新特性与应用场景。
今天etcd终于发布2.0版了,同时也是我们第一个稳定的大版本。自从去年12月中旬我们发布 2.0候选发布版本 以来,我们团队一直在努力工作力图是它尽快的稳定下来。您可以在GitHub上获取 新版本的二进制包 。
现在简要介绍下etcd。etcd是个开源的,分布式的,基于key-value的配置分发、服务发现与调度协调服务。使用etcd即使服务器集群中出现单点失效也能保证服务集群正常工作不受影响。etcd是CoreOS的核心组件,它用来支持CoreOS自动更新,协调服务运行与容器虚拟网络设置( overlay networking )。
etcd的开发团队一直致力于改善etcd的易用性与稳定性;以下列出2.0版本与最近发布的一个官方版本(0.4.6)的区别如下:
etcdctl backup
可以使集群故障恢复更加容易; etcdctl member list/add/remove
命令改善了集群管理的易用性; 所有的这些更新都使得etcd更加可用与稳定。有总共超过100个pr被合并到此更新中,同时还有很多其他的更新与bug修复;感谢超过150个的贡献者,是他们孜孜不倦的修改bug与pr才能使得etcd能够像今天这么知名。
很多大项目都使用了etcd,如:google的Kubernetes,Pivotal的Cloud Foundry,Mailgun、Apache Mesos与Mesosphere的DCOS。除开这些大型项目,在GitHub上还有超过500个项目使用了etcd。而这些项目开发者的反馈也大大的促进了etcd的发展,对他们表示感谢。
下面抽取了部分开发者的反馈:
我们评估过很多持久化方法,我们发现etcd的HTTP API与对Go客户端的强有力支持使的etcd非常适合Cloud Foundry",Onsi Fakhouri,Pivotal的工程部经理说,“所有使用最新版Cloud Foundry的人都改使用etcd做为key-value存储工具,因为它实在是很快!”
“我们使用etcd来管理服务配置与服务发现”,Sasha Klizhentas,Mailgun的首席工程师说,“我们的服务使用etcd做动态负载均衡,leader节点选取与canary部署方式的实施(canary deployment patterns);etcd基于HTTP API的调用方式使我们的系统更可靠更加容易进行分布式部署。”
如何在分布式集群中共享配置与状态对于分布式系统开发者来说一直都是棘手的事情;因为服务的提供方不再是单一的一台机器,而是整个数据中心中的所有机器,”Benjamin Hindman,Mesosphere的首席架构师与Apache Mesos的主管这么说,“Apache的Mesos与Mesosphere的数据中心操作系统(DCOS)将会很快开发插件支持etcd。用户与客户都要求我们支持etcd。”
通过两年不懈的努力,我们任然系统得到来自于您的反馈信息。我们的目标是将etcd打造成能够为google那种规模的分布式系统提供低层服务的平台;开发者可以“拿来就用”,可以在它之上构建系统,可以依赖于它。
Brandon Philips关于etcd 2.0的演讲
CoreOS CTO Brandon Philips在San Francsico举办的CoreOS大会上关于etcd 2.0的演讲: https://www.youtube.com/watch?v=z6tjawXZ71E
原文链接:
etcd 2.0 Release - First Major Stable Release
(翻译:肖劲 审校:李颖杰)