分布式注册服务中心etcd在云原生引擎中的实践

时间:2022-12-20 11:14:06

作者:王雷

etcd是什么

etcd是云原生架构中重要的基础组件,由CNCF孵化托管。ETCD是用于共享配置和服务发现的分布式,一致性的KV存储系统,是CoreOS公司发起的一个开源项目,授权协议为Apache。etcd 基于Go语言实现,主要用于共享配置,服务发现,集群监控,leader选举,分布式锁等场景。在微服务和 Kubernates 集群中不仅可以作为服务注册发现,还可以作为 key-value 存储的中间件。

提到键值存储系统,在大数据领域应用最多的当属ZOOKEEPER,而ETCD可以算得上是后起之秀了。在项目实现,一致性协议易理解性,运维,安全等多个维度上,ETCD相比Zookeeper都占据优势。

ETCD vs ZK

 ETCD ZK
一致性协议 Raft协议 ZAB(类Paxos协议)
运维方面 方便运维 难以运维
项目活跃度 活跃 没有etcd活跃
API ETCD提供HTTP+JSON, gRPC接口,跨平台跨语言 ZK需要使用其客户端
访问安全方面 ETCD支持HTTPS访问 ZK在这方面不支持