分布式系统一致性算法 应用于系统软件实现集群保持每个节点数据的同步性保持我们的集群中每个节点的数据的一致性的问题,专业的术语分布式一致性的算法。
场景:Redis集群、nacos集群、mongdb集群等
Zookeeper
Zookeeper基于CP模式实现注册中心,基于ZAB协议(底层就是基于Paxos实现,核心底层基于2PC两阶段提交协议实现)实现保证每个节点数据同步的问题,中心化思想集群模式,分为领导和跟随者角色。
如何保持数据的一致性的问题
所有的写的请求统一交给我们的领导角色实现,领导角色写完数据之后,领导角色在将数据同步给每个节点。
注意:数据之间同步采用2pc两阶段提交协议。
选举过程:
先去比较zxid zxid 谁最大谁就是为领导角色;
如果zxid相等的情况下, myid谁最大谁就为领导角色;
Eureka
Eureka基于AP模式实现注册中心,去中心化的思想、每个节点都是对等的,采用你中有我,我中有你的形式实现注册中心。
Nacos
Nacos中集群注册中心采用AP,配置中心采用CP保证一致性,算法采用ratf协议模式,采用心跳机制实现选举的。

本文探讨了分布式系统中保持数据一致性的算法,主要分析了Zookeeper的ZAB协议、Eureka的去中心化思想以及Nacos的RATF协议。Zookeeper通过CP模式和2PC协议确保集群数据同步,Eureka则采用AP模式实现去中心化的注册中心,而Nacos在注册中心和配置中心上分别采用不同的策略来保证一致性。
最低0.47元/天 解锁文章
1773

被折叠的 条评论
为什么被折叠?



