Nacos 临时实例是AP模式
Nacos 持久实例是CP模式
Zookeeper CP模式
Eureka AP模式

CAP原则:
C(Consistency):一致性
A(Availablitity):可用性
P(Partition tolerance):分区容错性

BASE原则:
BA:基本可用(Basically Available)
S:软状态(Soft State)
E:最终一致性(Eventual Consistency)
CAP原则是三选二;
BASE原则是CAP原则的折中,C,A,P三个都要,但是不保证每个原则的实现都是100%;
分布式系统肯定优先保证P,多数时候再C,A之间权衡。
在这里插入图片描述
分区(出现网路不通):就是说节点一和节点二没法进行正常的网络通信了。也就说此时不能进行数据同步了。
容错:就算出现分区,导致数据无法同步,两个节点之间无法正常通信,但是仍然要对外提供服务,不能因为分区导致整个系统宕机无法对外提供服务。

举例说明:
当发生分区时,我们在保证P的前提下
对节点1写入数据,{数据段1};
不对节点2做任何操作。
若我们保证C(一致性),那么此时访问节点1,就会读到{数据段1},但是如果访问的是节点2,读不到{数据段1},所以此时为了实现一致性,我们需要让整个服务暂停使用,这也就无法在实现CP的同时,实现A(可用性)。
若我们保证A(可用性),那么此时访问节点1,就会读到{数据段1},同时也可以访问节点2,但是不会读到{数据段1},这就失去了一致性,也就说无法在实现AP的同时,实现C(一致性)。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐