java 之 分布式微服务注册中心Eureka,Zookeeper,Nacos区别

CAP定律

一致性C分布式系统中,如果服务器集群,每个节点在同时刻访问必须要保持数据的一致性。

可用性A集群节点中,部分节点出现故障后任然可以使用 ,即服务一直可用(高可用)

分区容错性P比如现在的分布式系统中有某一个或者几个机器宕掉了,其他剩下的机器还能够正常运转满足系统需求,对于用户而言并没有什么体验上的影响。

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

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

Nacos从1.0版本选择Ap和CP混合形式实现注册中心,默认情况下采用Ap

如果选择为Ap模式,注册服务的实例仅支持临时模式,在网络分区的的情况允许注册服务实例,
选择CP模式可以支持注册服务的实例为持久模式,在网络分区的产生了抖动情况下不允许注册服务实例。

你可能感兴趣的:(java 之 分布式微服务注册中心Eureka,Zookeeper,Nacos区别)