<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Nacos 配置中心執行流程的詳細說明

      一、Nacos配置中心執行流程詳解

      Nacos配置中心是一個強大的分布式配置管理服務,其執行流程涵蓋了配置的發布、獲取、監聽和更新等核心功能。下面我將從多個維度詳細介紹Nacos配置中心的完整執行流程


      由于提供者 或 消費者集成了Nacos Client(Nacos的客戶端),其實也就是提供者或消費者通過Nacos Client(Nacos的客戶端)Nacos的服務端發送HTTPS獲取Nacos服務端上的配置信息


      二、核心架構組件


      1、客戶端組件

      • ConfigService:配置服務接口,提供獲取/發布配置的能力

      • ClientWorker:實際執行配置獲取和監聽的核心工作類

      • LongPollingRunnable:長輪詢任務線程

      • CacheData:緩存配置數據及監聽器


      2、服務端組件

      • ConfigController:處理配置相關的RESTful請求

      • PersistService:配置持久化服務

      • DumpService:配置轉儲服務

      • NotifyCenter:事件通知中心


      三、配置發布流程


      1、核心概念


      2、控制臺發布配置


      i、用戶操作

      • 在Nacos控制臺選擇命名空間、分組

      • 輸入Data ID和配置內容

      • 點擊發布按鈕


      ii、Nacos服務端處理控制臺發布的請求

      • Nacos服務端處理:

        • 1、校驗配置合法性(格式、長度等)

        • 2、持久化到存儲層(默認內嵌 Derby,生產建議 MySQL 集群)

        • 3、通過 Raft 協議保證集群一致性(CP 模式)

        • 4、觸發監聽器,通知訂閱該配置的客戶端(是指我們的消費者和提供者)

      • 配置存儲結構:


      四、消費者或提供者獲取配置流程


      1、初始化階段

      • 創建ConfigService

        • 初始化ServerHttpAgent處理HTTP請求

        • 創建ClientWorker實例

      • 首次獲取配置


      2、獲取配置詳細流程


      i、消費者或提供者端發起請求

      • GET請求:/nacos/v1/cs/configs

      • 參數:dataId, group, tenant(namespace)


      ii、Nacos服務端處理請求

      • 檢查本地緩存

      • 查詢數據庫(Derby 或 MySQL)獲取配置

      • 返回配置內容及MD5值


      iii、消費者或提供者端處理響應

      • 校驗MD5

      • 緩存到本地文件

      • 初始化CacheData對象

      • 解析配置內容(如 YAML 轉 PropertySource)

      • 將配置注入 Spring Environment


      3、首次獲取流程


      五、配置動態刷新

      Nacos 作為配置中心,當消費者或提供者去訪問Nacos動態獲取配置源之后,會緩存到本地內存以及磁盤中。 由于Nacos作為動態配置中心,

      意味著后續配置變更之后需要讓所有相關的消費者或提供者端感知,并更新本地內存! 那么這個功能是在哪里實現的呢? 以及它是采用什么樣的方式來實現配置的更新的呢?


      1、長輪詢機制(核心)


      i、消費者 或 提供者端行為:

      • 啟動長輪詢任務,定時(默認 30 秒)檢查配置變更

      • 攜帶本地配置的 MD5 和 lastModified 時間戳


      ii、Nacos服務端處理:

      • 對比消費者或提供者端 MD5 與 Nacos服務端 MD5

      • 無變更:掛起請求(默認 30 秒),減少空輪詢

      • 有變更:立即返回新配置


      2、長輪詢機制流程圖

      消費者或提供者端輪詢向Nacos服務端發起一個長連接請求,這個長連接請求最多 30s 就會超時,Nacos 服務端收到請求之后,

      將請求攜帶的配置信息 和 服務端配置信息進行 MD5比對, 檢查服務端的配置是否有變化,

      • 如果有,則直接返回長連接請求結果

      • 如果沒有,則設置一個定時任務,延期 29.5s 執行,并且把當前的長連接請求加入 allSubs 隊列這個時候有兩種方式觸發該長連接請求結果返回:

        • 1、第一種是在29.5s內任意一個時刻,通過 Nacos Dashboard 或者 API 的方式對配置進行了修改,就會觸發一個事件機制,監聽該事件的任務會遍歷 allSubs 隊列,在隊列中找到該長連接請求,觸發請求查詢并返回結果,就完成一次 "推送" 操作

        • 2、第二種是在等待 29.5s 后觸發自動檢查機制,這個時候不管配置有沒有發生變化,都會把結果返回消費者或提供者端


      六、高可用設計


      1、消費者 或 提供者端容災

      • 本地緩存:

        • 配置持久化到 ${user.home}/nacos/config 目錄

        • Nacos服務端不可用時,使用本地緩存

      • 重試策略:

        • 失敗后自動切換其他節點(需配置集群地址)


      2、Nacos服務端集群

      • 數據持久化:

        • 默認內嵌 Derby(測試用)

        • 生產建議:外置 MySQL 集群(主從架構)

      • 一致性協議:

        • 配置數據使用 Raft 協議(CP 模式)

        • 保證強一致性

      posted @ 2025-04-17 02:14  jock_javaEE  閱讀(238)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲综合成人av在线| 国产999久久高清免费观看| 日韩人妻精品中文字幕专区 | 国产又爽又黄又爽又刺激| 亚洲中文字幕无码永久在线| 国产精品无码素人福利不卡| 日韩av一区二区三区不卡| 中文字幕在线精品人妻| 曰批免费视频播放免费| 欧洲码亚洲码的区别入口| 亚洲精品国产自在现线最新| 亚洲A综合一区二区三区| 特黄大片又粗又大又暴| 国产亚洲无线码一区二区| 国产一区精品在线免费看| 99久久精品久久久久久婷婷| 国产av不卡一区二区| 4480yy亚洲午夜私人影院剧情| 国产suv精品一区二区四| 亚洲深深色噜噜狠狠网站| av偷拍亚洲一区二区三区| 中文字幕第一页国产精品| 国产精品理论片在线观看| 国产精品制服丝袜白丝| 国产精品第一二三区久久| 九九热免费精品视频在线| 午夜福利在线观看6080| 熟女女同亚洲女同中文字幕| 精品无码成人片一区二区| 人人做人人爽人人爱| 亚洲区一区二区激情文学| 99RE8这里有精品热视频| 日本三级成本人网站| 国产精品粉嫩嫩在线观看| 99久久无码私人网站| 中文字幕乱码熟女人妻水蜜桃 | 蜜桃久久精品成人无码av| 狠狠亚洲色一日本高清色| 色橹橹欧美在线观看视频高清| 国产69精品久久久久乱码免费| 一个色综合色综合色综合|