目錄
Sentinel-dashboard配置的規則,在我們的微服 務以及控制檯重啓的時候就清空了,因爲他是基於內存的
原生模式
Dashboard的推送規則方式是通過 API 將規則推送至客戶端並直接更新到內存
Pull拉模式
首先 Sentinel 控制檯通過 API 將規則推送至客戶端並更新到內存中,接着註冊的寫數據源會將新的規則保存到本地的文件中
這種實現方法好處是簡單,不引入新的依賴,壞處是無法保證監控數據的一致性
客戶端Sentinel的改造(拉模式) 通過SPI擴展機制進行擴展,我們寫一個拉模式的實現類 com.zhou.persistence.PullModeByFileDataSource,然後在工廠目錄下創建 META-INF/services/com.alibaba.csp.sentinel.init.InitFunc文件
文件的內容就是寫我們的拉模式的實現類
com.zhou.persistence.PullModeByFileDataSource
推模式:push生產推薦使用
原理簡述
控制檯推送規則:
- 將規則推送到Nacos或其他遠程配置中心
- Sentinel客戶端鏈接Nacos,獲取規則配置;並監聽Nacos配置變化,如發生變化,就更新本地緩存(從而讓本地緩存總是和Nacos一致)
控制檯監聽Nacos配置變化,如發生變化就更新本地緩存(從而讓控制檯本地緩存總是和Nacos一致)
個人公衆號,日常分享一個知識點,每天進步一點點,面試不慌