每日一问
未读
【每日一问】Nacos服务注册原理
Nacos服务注册与发现核心流程:客户端启动时封装Instance对象注册,通过心跳定时任务维持连接。服务端接收到注册请求后,将Instance封装为Service并存储(Map(namespace,Map(group::serviceName,Service))),启动健康检查定时任务(超时15s设不健康,30s删除)。实例添加分两种模式:持久化数据用Raft协议(CP模式,半数节点写入成功返回);非持久化用Distro协议(AP模式,异步同步集群数据)。注册表更新采用写时复制避免并发冲突,变更后通过UDP推送通知客户端,未收到ACK则重发,客户端定时拉取服务列表兜底。服务发现依赖客户端定时拉取与服务端推送结合,确保数据实时性与可靠性。

