ETCD(六)ETCD和Zookeeper

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: ETCD(六)ETCD和Zookeeper

ZooKeeper和etcd都是分布式协调服务,提供了一种管理配置数据、同步分布式系统、保持高可用性的方式。它们被许多分布式系统用来保证一致性、容错性和可靠性。

ZooKeeper:

  • Apache开发了ZooKeeper,这是一个分布式协调服务,提供了一种层次化的键值存储。
  • 它基于ZAB(ZooKeeper原子广播)协议,确保了强一致性和持久性。
  • ZooKeeper是用Java写的,有Java、C、Python等语言的客户端绑定。
  • 它使用了一种基于多数决的共识算法,这意味着至少要有一半的节点同意变更,变更才能生效。
  • ZooKeeper提供像监视器、暂时的节点和序列的节点这样的功能来帮助管理分布式系统。
  • 它已经被广泛采用和用于许多大规模分布式系统,例如Hadoop,Kafka和HBase。
  • etcd 是一个分布式键值存储系统。 etcd: etcd 是一个分布式键值存储系统。

etcd:

  • 由 CoreOS 开发,etcd 是一个分布式键值存储,用于高可用性和强一致性。
  • 它基于Raft共识算法,提供强一致性、容错性和分区容错性。
  • etcd是用Go写的,并且有Go、Java、Python和Ruby的客户端绑定。
  • 它使用领导者-追随者方法来达成共识,其中只有一个节点被选举为领导者,所有其他节点都遵循领导者的决定。
  • etcd 提供了像 watches, leases, 和 transactions 这样的功能来帮助管理分布式系统。
  • 它已经被各种各样的项目所采用,包括Kubernetes、Cloud Foundry和Rook。

比较

1.一致性模型:ZooKeeper和etcd都提供了强一致性,确保了集群中的所有节点都有相同的数据视图。

2. 性能:etcd 一般比 ZooKeeper 有更好的性能,尤其是在写密集型工作负载方面。这主要是因为 Raft 共识算法比 ZAB 协议更有效率。

3. 语言和生态系统:ZooKeeper是用Java写的,有更大的生态系统,而etcd是用Go写的,有更小的生态系统。然而,这两个系统都有各种语言的客户端绑定。

4. 易用性:etcd被认为比ZooKeeper更容易设置和维护,主要是因为它的配置更简单,文档更好。

5. 特性: 两个系统都提供类似的功能,比如时钟、租赁和交易。然而,ZooKeeper还有一些额外的功能,比如临时节点和顺序节点,在某些用例中可以很有用。

6. 采用:ZooKeeper已经存在了一段时间,并且已经被许多大规模分布式系统广泛采用。然而,Etcd在最近几年变得越来越受欢迎,尤其是在Kubernetes等容器编排系统兴起之后。

总而言之,ZooKeeper 和 etcd 都可以用来管理配置数据,同步分布式系统,并保持高可用性。在性能要求、易用性、语言偏好和具体用例之间做出选择。

ZAB和Raft

ZAB选举原则节点间通过PK竞争,事务ID最大当选,事务ID一致则节点ID最大的当选。

Raft选举原则:一张选票、先到先得;里面包含了一个随机等待时间的概念,来保证最多几次选举就能完整选举过程。

Raft 的领导者选举,需要通讯的消息数更少,选举也更快。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
存储 JSON Kubernetes
查看k8s的etcd数据
查看k8s的etcd数据
1525 0
查看k8s的etcd数据
|
存储 JSON NoSQL
ETCD教程-4.深入ETCD
目前etcd主要经历了3个大的版本,分别为etcd 0.4版本、etcd 2.0版本和etcd 3.0版本。
754 0
ETCD教程-4.深入ETCD
|
8月前
|
JSON API Go
etcd的安装和使用
etcd的安装和使用
108 0
|
7月前
|
存储 Unix Linux
etcd集群搭建
etcd集群搭建
162 0
|
存储 消息中间件 分布式计算
Zookeeper 集群
你好看官,里面请!今天笔者讲的是Zookeeper 集群。不懂或者觉得我写的有问题可以在评论区留言,我看到会及时回复。 注意:本文仅用于学习参考,不可用于商业用途,如需转载请跟我联系。
265 1
|
存储 算法 安全
Etcd 初步认识
近期在接触的新项目中在使用Etcd,但是在使用的过程中公司对其的使用仅使用服务注册的功能,并未将其发挥真正的用处。学习一波,将来可以在项目中使用进行改进。
225 0
|
存储 监控 算法
ETCD教程-1.ETCD介绍
etcd是一个Go言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值存储、配置共享和服务发现等功能
519 0
ETCD教程-1.ETCD介绍
|
存储 分布式计算 监控
服务发现:Zookeeper vs etcd vs Consul
服务发现:Zookeeper vs etcd vs Consul
293 0
|
存储 负载均衡 监控
etcd
前面的文章中,介绍了基于Paxos的ZooKeeper,本文将介绍另一种分布式一致性算法Raft的工业级实现————etcd,它们虽然实现方案不同,但是最终的实现效果都很像,而且etcd相较于ZooKeeper来说,更轻,更容易理解和使用,接下来就让我们一起来看一下etcd的实现思想。
|
存储 NoSQL 调度
Etcd基本部署与使用
Etcd基本部署与使用
1113 0

热门文章

最新文章