ETCD(六)ETCD和Zookeeper

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
存储 自然语言处理 运维
服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
这里就平时经常用到的服务发现的产品进行特性的对比,总的来看,目前Consul 自身功能,和 spring cloud 对其集成的支持都相对较为完善,而且运维的复杂度较为简单,Eureka 设计上比较符合场景,但还需持续的完善。
4936 0
|
存储 网络协议 算法
注册中心原理和选型:Zookeeper、Eureka、Nacos、Consul和Etcd(二)
经过近2周的学习,原来注册中心除了ETCD和Zookeeper,常用的还有Eureka、Nacos、Consul,下面我们就对这些常用的注册中心,初探它们的异同,便于后续技术选型。
1911 0
注册中心原理和选型:Zookeeper、Eureka、Nacos、Consul和Etcd(二)
|
缓存 Kubernetes 负载均衡
注册中心原理和选型:Zookeeper、Eureka、Nacos、Consul和Etcd(一)
经过近2周的学习,原来注册中心除了ETCD和Zookeeper,常用的还有Eureka、Nacos、Consul,下面我们就对这些常用的注册中心,初探它们的异同,便于后续技术选型。
684 0
注册中心原理和选型:Zookeeper、Eureka、Nacos、Consul和Etcd(一)
|
存储 分布式计算 监控
服务发现:Zookeeper vs etcd vs Consul
服务发现:Zookeeper vs etcd vs Consul
316 0
|
存储 Kubernetes Shell
zookeeper和etcd有状态服务部署
zookeeper和etcd有状态服务部署实践   docker  etcd  zookeeper  kubernetes  4k 次阅读  ·  读完需要 78 分钟 0 一.
2146 0
|
存储 监控 数据中心
Zookeeper vs etcd vs Consul
Zookeeper vs etcd vs Consul 【编者的话】本文对比了Zookeeper、etcd和Consul三种服务发现工具,探讨了最佳的服务发现解决方案,仅供参考。
2116 0
|
存储 资源调度 Kubernetes
zookeeper与etcd
背景 最近在看到Pachyderm的介绍时,看到作者拿YARN和Kubernetes做类比,拿Zookeeper和etcd做对比。
2128 0
|
存储 监控 数据中心
服务发现:Zookeeper vs etcd vs Consul
本文讲的是服务发现:Zookeeper vs etcd vs Consul,【编者的话】本文对比了Zookeeper、etcd和Consul三种服务发现工具,探讨了最佳的服务发现解决方案,仅供参考。
2524 0
Zookeeper,etcd,consul内部机制和分布式锁和选主实现的比较
我的另外3篇文章分别介绍了Zookeeper,etcd,consul是如何实现分布式锁和选主的。本文想比较一下Zookeeper、etcd、consul内部机制有哪些不同,他们实现锁和选主的方式相同和不同。
7184 0
|
2月前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
437 2