介绍通过阅读Nacos注册与发现源码,对核心原理进行总结提炼。包括:注册、发现、节点间通信、健康检查类型。1.服务注册原理当客户端发起注册时,注册原理的逻辑如下图所示。进一步简化主要包括:将新注册的实例信息推送给订阅服务的订阅者将新注册的实例信息增量同步到集群其他节点2.服务发现的原理服务发现的逻辑进一步简化为:定时查询注册中心最新的服务实例列表信息。定时频率通常为6秒,如果出现异常则为60秒。进一步简化为:每个节点用于全注册快照信息。当一个新节点加入集群时,它将从集群中的一个节点发起一个完全同步。节点间每2秒检查一次缓存的注册快照信息,每5秒检查一次。一轮健康检查用于关闭/新建/刷新gRPC连接4.健康检查类型及场景健康检查类型及场景可以进一步简化为:临时节点通过gRPC连接保鲜,保鲜频率为5秒.临时节点使用Distro协议注册。持久节点注册使用Raft协议。持久节点支持客户端心跳和服务器端探测。持久节点探测支持HTTP、TCP和其他探测类型。代码关注。转载本文请联系瓜农老梁公众号。