Nacos

spring IOC擴展點 二次開發?

利用事件監聽接口



源碼總結:
? ? nacos是一個由spring boot web編寫的消息服務中間件,暴露了一些指定接口來,通過調用我們的指定接口來完成服務的注冊等功能

這里首先展示nacos主要流程

核心Controller 方法



通過請求類型來完成實例的增刪改查
通過雙層Map的方式存放所有注冊的實例信息 其中主要使用到定時線程池啟動后5秒后每隔5秒開始檢測服務是否下線等等邏輯,nacos默認注冊臨時節點

兩個方法:一個生產臨時節點一個生產持久化節點

雙層Map負責存儲服務實例數據 部署一個Nacos可以同時支持眾多環境的服務注冊功能 可以用map最外層的Key來區別?

nacos為了防止服務注冊時多重讀寫 用到了單線程,copyOnWrite思想寫副本 ,修改和讀數據分開 ,提高高并發性,對實時性有一些妥協,但是影響不大


優雅的雙層鎖代碼設計 不得不說閱讀nacos的源碼是一種享受


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容