Nacos11# 圖解|註冊發現核心原理提練

引言

通過對Nacos註冊與發現源碼閱讀,將其核心原理歸納提煉。包含:註冊、發現、節點之間通信、健康檢查類型。

一、服務註冊原理

當客戶端發起註冊時,註冊原理邏輯見下圖,進一步簡化主要有:

  • 將新註冊的實例信息推送給訂閱該服務的訂閱者
  • 將新註冊的實例信息增量同步給集羣中的其他節點

二、服務發現原理


服務發現的邏輯進一步簡化爲:

  • 定時從註冊中心查詢最新服務實例列表信息
  • 定時頻率通常爲6秒,發生異常爲60秒

三、集羣節點通信原理


集羣中節點通信原理可以進一步簡化爲:

  • 每個節點用於全量的註冊快照信息

  • 新節點加入集羣時會從集羣中某節點發起全量同步

  • 節點之間每隔5秒校驗緩存的註冊快照信息

  • 節點之間每隔2秒進行一輪健康檢查用於關閉/新建/刷新gRPC連接

四、健康檢查類型與場景


健康檢查類型與場景進一步可以簡化爲:

  • 臨時節點通過gRPC連接保鮮實現,保鮮頻率爲5秒

  • 臨時節點註冊使用Distro協議,持久節點註冊使用Raft協議

  • 持久節點支持客戶端心跳和服務端探活兩種方式

  • 持久節點探活支持HTTP、TCP等探活類型


本文分享自微信公衆號 - 瓜農老梁(gh_01130ae30a83)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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