Nacos 集群默认支持的是CAP原则中的AP原则
nacos后面的版本可以切换cp和ap
cp ap状态切换命令:curl -X PUT '$NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP'
目前1.1.4里面 如果是临时节点就是ap 持久化节点就是cp
前面client注册服务的时候启动的心跳线程 如果是临时节点的话,随机选择一个服务端进行发送, 发送心跳请求
DistroConsistencyServiceImpl
发送请求 nacos/v1/ns/distro/datum
向所有服务轮询查询并存放节点信息Map<String, Datum>dataMap =new ConcurrentHashMap<>(1024);
Distro协议是阿里的私有协议,但是对外开源框架只有Nacos。所有我们只能从Nacos中一窥Distro协议。Distro协议是一个比较简单的最终一致性协议。整体由节点寻址、数据全量同步、异步增量同步、定时上报client所有信息、心跳探活其他节点等组成