Eureka/Zookeeper/Nacos实现注册中心区别

一、CAP定律

CAP理论:
Consistency(一致性)
Availability(可用性)
Partition tolerance(分区容错性) 必然存在
在我们集群中,如果某个服务器宕机(故障):
保证数据一致性:一致性(CP)
保证服务可用性:可用性AP

这个定理的内容是指的是在一个分布式系统中、Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。
一致性( C ):在分布式系统中,如果服务器集群,每个节点在同时刻访问必须要保持数据的一致性。
可用性( A ):集群节点中,部分节点出现故障后任然可以使用 (高可用)
分区容错性( P ):在分布式系统中网络会存在脑裂的问题,部分Server与整个集群失去节点联系,无法组成一个群体。
只有在CP和AP选择一个平衡点

二、Eureka/Zookeeper/Nacos区别

三者都可以实现分布式注册中心框架

不同点:
Zookeeper采用CP保证数据的一致性的问题,原理采用(ZAP原子广播协议),当我们ZK领导者因为某种情况下部分节点出现了故障,会自动重新实现选举新的领导角色,整个选举的过程中为了保证数据一致性的问题,客户端暂时无法使用我们的Zookeeper,那么这以为着
整个微服务无法实现通讯。

Eureka采用AP设计思想实现分布式注册中心,完全去中心化、每个节点都是相等,采用你中有我、我中有你相互注册设计思想, 只要最后有一台Eureka节点存在整个微服务就可以实现通讯。

Nacos从1.0版本选择Ap和CP混合形式实现注册中心,默认情况下采用Ap,CP则采用Raft协议实现保持数据的一致性。
如果选择为Ap模式,注册服务的实例仅支持临时模式,在网络分区的的情况允许注册服务实例,选择CP模式可以支持注册服务的实例为持久模式,在网络分区的产生了抖动情况下不允许注册服务实例。

你可能感兴趣的:(SpringCloud,Eureka,Nacos,zookeeper)