Nacos

spring IOC擴(kuò)展點(diǎn) 二次開發(fā)?

利用事件監(jiān)聽接口



源碼總結(jié):
? ? nacos是一個(gè)由spring boot web編寫的消息服務(wù)中間件,暴露了一些指定接口來,通過調(diào)用我們的指定接口來完成服務(wù)的注冊(cè)等功能

這里首先展示nacos主要流程

核心Controller 方法



通過請(qǐng)求類型來完成實(shí)例的增刪改查
通過雙層Map的方式存放所有注冊(cè)的實(shí)例信息 其中主要使用到定時(shí)線程池啟動(dòng)后5秒后每隔5秒開始檢測(cè)服務(wù)是否下線等等邏輯,nacos默認(rèn)注冊(cè)臨時(shí)節(jié)點(diǎn)

兩個(gè)方法:一個(gè)生產(chǎn)臨時(shí)節(jié)點(diǎn)一個(gè)生產(chǎn)持久化節(jié)點(diǎn)

雙層Map負(fù)責(zé)存儲(chǔ)服務(wù)實(shí)例數(shù)據(jù) 部署一個(gè)Nacos可以同時(shí)支持眾多環(huán)境的服務(wù)注冊(cè)功能 可以用map最外層的Key來區(qū)別?

nacos為了防止服務(wù)注冊(cè)時(shí)多重讀寫 用到了單線程,copyOnWrite思想寫副本 ,修改和讀數(shù)據(jù)分開 ,提高高并發(fā)性,對(duì)實(shí)時(shí)性有一些妥協(xié),但是影響不大


優(yōu)雅的雙層鎖代碼設(shè)計(jì) 不得不說閱讀nacos的源碼是一種享受


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Nacos服務(wù)心跳 1.1、客戶端心跳 Nacos Client會(huì)維護(hù)一個(gè)定時(shí)任務(wù)通過持續(xù)調(diào)用服務(wù)端的接口更新...
    小波同學(xué)閱讀 14,823評(píng)論 0 6
  • Nacos使用心得 功能介紹 核心功能主要包括服務(wù)注冊(cè)、服務(wù)心跳、服務(wù)同步、服務(wù)發(fā)現(xiàn)和服務(wù)健康檢查 服務(wù)注冊(cè) Na...
    逍遙白亦閱讀 861評(píng)論 0 1
  • Nacos 架構(gòu) 基本架構(gòu)及概念 服務(wù) (Service) 服務(wù)是指一個(gè)或一組軟件功能(例如特定信息的檢索或一組操...
    keepgoon閱讀 1,114評(píng)論 0 0
  • 業(yè)務(wù)提供者引入nacos客戶端sdk,通過這個(gè)sdk向nacos服務(wù)器注冊(cè)服務(wù),這個(gè)服務(wù)讓消費(fèi)者調(diào)用。 Nacos...
    星空_0919閱讀 2,513評(píng)論 0 2
  • Nacos可以分為服務(wù)發(fā)現(xiàn)(Naming)和配置管理(Config)兩塊,而從使用上來說,又可分為Nacos服務(wù)端...
    布丁呂閱讀 1,925評(píng)論 0 0

友情鏈接更多精彩內(nèi)容