对于 Nacos 的临时实例(Ephemeral Instance),集群节点之间的数据同步使用的是 Distro 协议。 临时实例主要用于 AP(可用性 + 分区容错性)场景,因此 Nacos 在设计上优先保证服务的可用性和写入的高性能,采用的是最终一致性策略,而非强一致性(如持久化实例使用的 Raft 协议)。 以下是 Nacos 临时实例数据同步的核心机制和详细流程: 1. 核心协议:Distro 协议 Distro 是 Nacos 自研的一种点对点(Peer-to-Peer)的最终一致性协议。它的特点是: 去中心化:每个节点都是平等的,没有主从之分(Leaderless)。 AP 模型:保证高可用,数据同步会有短暂延迟,但最终会一致。 内存存储:数据主要存储在内存中,不强制落盘(因为临时实例本身就是易变的,重启后由客户端心跳重建)。 2. 数据同步流程 当一个客户端向 Nacos 集群注册一个临时实例时,同步过程如下: A. 写入与路由 (Request Handling) 1. 请求接收:客户端向集群中的任意一个节点发送注册请求(或心跳)。 2. 责任节点路由(Dist...