作者源碼閱讀筆記主要采用金山云文檔記錄的,所有的交互圖和代碼閱讀筆記都是記錄在云文檔里面,本平臺的文檔編輯實在不方便,會導致我梳理的交互圖和文檔失去原來的格式,所以整理在文檔里面,供大家閱讀交流
【金山文檔 | WPS云文檔】 namesrv 啟動流程
相關重要類介紹說明
請求處理組件NamesrvController類
名稱 | 描述 | 默認值 |
namesrvConfig | 主要包含了 NameServer 自身運行的參數 | |
nettyServerConfig | 主要包含了 Netty 服務端的配置參數 | |
routeInfoManager | 路由管理器組件 | |
scheduledExecutorService | 調度線程池,執行定時任務,兩件事:1. 檢查存活的broker狀態 2. 打印配置 | |
kvConfigManager | 管理kv配置 | |
remotingServer | 網絡層封裝對象 | |
brokerHousekeepingService | ChannelEventListener ,用于監聽channel 狀態,當channel狀態 發生改變時 close idle... 會向 事件隊列發起事件,事件最終由 該service處理 | |
remotingExecutor | 業務線程池,netty 線程 主要任務是 解析報文 將 報文 解析成 RemotingCommand 對象,然后 就將 該對象 交給 業務 線程池 再繼續處理 |
NamesrvConfig配置類
名稱 | 描述 | 默認值 |
rocketmqHome | RocketMQ的主目錄 | rocketmq.home.dir |
kvConfigPath | NameServer 存儲 KV 配置屬性的文件地址 | user |