注册中心数据一致性的算法

本文来说下常见的注册中心数据一致性的算法

文章目录

  • 概述
  • Zookeeper
  • Eureka
  • Nacos


概述

分布式系统一致性算法 应用于系统软件实现集群保持每个节点数据的同步性保持我们的集群中每个节点的数据的一致性的问题,专业的术语分布式一致性的算法。场景:Redis集群、nacos集群、mongodb集群等

注册中心数据一致性的算法_第1张图片


Zookeeper

Zookeeper基于CP模式实现注册中心,基于ZAB协议(底层就是基于Paxos实现,核心底层基于2PC两阶段提交协议实现)实现保证每个节点数据同步的问题,中心化思想集群模式,分为领导和跟随者角色。

如何保持数据的一致性的问题

所有的写的请求统一交给我们的领导角色实现,领导角色写完数据之后,领导角色在将数据同步给每个节点。

注意:数据之间同步采用2pc两阶段提交协议。

选举过程:

  • 先去比较zxid zxid 谁最大谁就是为领导角色;
  • 如果zxid相等的情况下, myid谁最大谁就为领导角色;

注册中心数据一致性的算法_第2张图片


Eureka

Eureka基于AP模式实现注册中心,去中心化的思想、每个节点都是对等的,采用你中有我,我中有你的形式实现注册中心。

注册中心数据一致性的算法_第3张图片


Nacos

Nacos中集群注册中心采用AP,配置中心采用CP保证一致性,算法采用ratf协议模式,采用心跳机制实现选举的。

注册中心数据一致性的算法_第4张图片

你可能感兴趣的:(面试题,spring,cloud,alibaba,算法,java,zookeeper)