CAP理论
CAP即:
- Consistency(一致性)
- Availability(可用性)
- Partition tolerance(分区容忍性)
这三个性质对应了分布式系统的三个指标: 而CAP理论说的就是:一个分布式系统,不可能同时做到这三点。如下图:
为什么 Nacos 会在单个集群中同时运行 CP 协议以及 AP 协议呢?这其实要从 Nacos 的场景出 发的:Nacos 是⼀个集服务注册发现以及配置管理于⼀体的组件,因此对于集群下,各个节点之间 的数据⼀致性保障问题,需要拆分成两个方面:
从服务注册发现来看
服务发现注册中心,在当前微服务体系下,是十分重要的组件,服务之间感知对方服务的当前可正 常提供服务的实例信息,必须从服务发现注册中心进行获取,因此对于服务注册发现中心组件的可 用性,提出了很高的要求,需要在任何场景下,尽最大可能保证服务注册发现能力可以对外提供服 务;同时 Nacos 的服务注册发现设计,采取了心跳可自动完成服务数据补偿的机制。如果数据丢 失的话,是可以通过该机制快速弥补数据丢失。
因此,为了满足服务发现注册中心的可用性,强⼀致性的共识算法这里就不太合适了,因为强⼀致 性共识算法能否对外提供服务是有要求的,如果当前集群可用的节点数没有过半的话,整个算法直 接“罢工