Nacos11# 图解|注册发现核心原理提练

引言

通过对Nacos注册与发现源码阅读,将其核心原理归纳提炼。包含:注册、发现、节点之间通信、健康检查类型。

一、服务注册原理

当客户端发起注册时,注册原理逻辑见下图,进一步简化主要有:

  • 将新注册的实例信息推送给订阅该服务的订阅者
  • 将新注册的实例信息增量同步给集群中的其他节点

二、服务发现原理


服务发现的逻辑进一步简化为:

  • 定时从注册中心查询最新服务实例列表信息
  • 定时频率通常为6秒,发生异常为60秒

三、集群节点通信原理


集群中节点通信原理可以进一步简化为:

  • 每个节点用于全量的注册快照信息

  • 新节点加入集群时会从集群中某节点发起全量同步

  • 节点之间每隔5秒校验缓存的注册快照信息

  • 节点之间每隔2秒进行一轮健康检查用于关闭/新建/刷新gRPC连接

四、健康检查类型与场景


健康检查类型与场景进一步可以简化为:

  • 临时节点通过gRPC连接保鲜实现,保鲜频率为5秒

  • 临时节点注册使用Distro协议,持久节点注册使用Raft协议

  • 持久节点支持客户端心跳和服务端探活两种方式

  • 持久节点探活支持HTTP、TCP等探活类型


本文分享自微信公众号 - 瓜农老梁(gh_01130ae30a83)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章