Nacos 为了满足不同场景下的需求(CAP 理论中的 AP 和 CP),主要使用了两种一致性协议:Distro 协议 和 Raft 协议。 Nacos 的独特之处在于它同时支持这两种协议,允许用户根据业务场景选择强一致性还是最终一致性。 以下是详细的解析: 1. Distro 协议 (AP 模式 - 最终一致性) Distro 是阿里巴巴(Nacos 团队)自研的一种点对点(Peer-to-Peer)的一致性协议。 应用场景: 主要用于服务发现(Naming Service)中的非持久化(临时)实例。 在微服务架构中,绝大多数服务实例(如 K8s 中的 Pod)都是临时的,随时可能销毁和重建。对于服务发现来说,可用性(Availability)通常比强一致性更重要(宁可读到旧数据,也不能读不到数据)。 核心机制: 数据分片: Nacos Server 集群将数据分片,每个节点负责一部分数据的写入。 对等同步: 当一个节点收到注册请求后,它会处理该请求,并异步地将数据同步给集群中的其他节点。 最终一致性: 它是弱一致性的,不保证所有节点在同一时刻数据完全一致,但保证在一段时间后数...