Zookeeper,etcd,consul内部机制和分布式锁和选主实现的比较

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: 我的另外3篇文章分别介绍了Zookeeper,etcd,consul是如何实现分布式锁和选主的。本文想比较一下Zookeeper、etcd、consul内部机制有哪些不同,他们实现锁和选主的方式相同和不同。

我的另外3篇文章分别介绍了Zookeeperetcdconsul是如何实现分布式锁和选主的。本文想比较一下Zookeeper、etcd、consul内部机制有哪些不同,他们实现锁和选主的方式相同和不同。

Zookeeper提供了临时节点,sequence,和变更通知。利用Zookeeper的这3个特性实现了按照sequence的顺序依次获取锁和成为主。

etcd没有临时节点的概念,但是通过租约的方式提供了类似的功能。etcd没有sequence的概念,但是提供了全局递增的序列号revision,通过判断每个key的revision,也可以实现类似的sequence功能。提供多键条件事务(类似etcdv2的Compare-and-Swap)。虽然提供的机制不同与Zookeeper,但是实现的锁方式和选主方式与zookeeper非常类似,也是按照key建立时间依次获得锁和成为主。

consul也没有临时节点的概念,但是有session的概念,通过session也可以实现临时节点的功能。consul没有提供sequence的功能,类似于etcd也提供了modifyindex,这种全局递增的序号。consul的接口类对外暴露了cas(check-and-set)的语意(似于etcdv2),与此同时对外直接暴露了锁的语意。提供了与etcd相同的机制,额外还提供了锁的机制。所以基于consul不需要考虑怎么实现锁,只需要考虑实现选主。官方文档中给出的选主的实现,是基于锁机制的,所以consul的选主不同与zookeeper和etecd。Zookeeper和etcd的实现可以避免群惊现象。但是consul提供类似于etcd的机制,所以也可以不基于锁的来实现选主,也可以实现出类似于etcd的选主实现。

总结,zookeeper、consul、etcd实现锁和选主时依赖自身的多个机制,但是有最核心的机制,比如zookeeper的sequence机制,etcd的revision和多键条件事务,consul的index、cas和锁,以上这些特性归根结底是3个系统的consistency的特性的一种表现。

目录
相关文章
|
2月前
|
消息中间件 分布式计算 资源调度
《聊聊分布式》ZooKeeper与ZAB协议:分布式协调的核心引擎
ZooKeeper是一个开源的分布式协调服务,基于ZAB协议实现数据一致性,提供分布式锁、配置管理、领导者选举等核心功能,具有高可用、强一致和简单易用的特点,广泛应用于Kafka、Hadoop等大型分布式系统中。
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
存储 负载均衡 Dubbo
分布式-Zookeeper(一)
分布式-Zookeeper(一)
|
12月前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
存储 运维 NoSQL
分布式读写锁的奥义:上古世代 ZooKeeper 的进击
本文作者将介绍女娲对社区 ZooKeeper 在分布式读写锁实践细节上的思考,希望帮助大家理解分布式读写锁背后的原理。
319 11
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
202 2
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
261 1
|
存储 负载均衡 算法
分布式-Zookeeper-Master选举
分布式-Zookeeper-Master选举

热门文章

最新文章