導航:首頁 > 文件管理 > nacos配置文件動態刷新原理

nacos配置文件動態刷新原理

發布時間:2023-06-28 09:36:11

❶ 微服務初體驗(二):使用Nacos作為配置中心並集成Dubbo

首先啟動Nacos,按照上篇文章的步驟,啟動Nacos服務和項目,訪問Nacos的web頁面。確保項目中的服務都注冊到注冊中心當中了。在application.yml同級目錄下添加bootstrap.yml,在Spring boot項目中bootstrap.yml會比application.yml優先初始化,所以我們需要在bootstrap.yml中引入Nacos官方指定的配置文件即可(上篇文章中已經把Nacos作為配置中心的配置寫入了application.yml,現在只需要把它從applicaiton.yml中剪切出來即可, 其中的spring:application:name會作為Nacos中新增配置時的Data ID,需要留意 ),再新增屬性gorup進行分組測試,如下圖

接著打開Nacos的服務的web頁面,打開配置管理->配置列表,點擊右側新增按鈕,進行新增。
Data ID: bootstrap.yml配置文件中spring:application:name對應的名稱
Group:指定分組(便於不同環境下的項目配置管理,因為筆者這里屬於測試,所以填寫的是和上文中的配置文件中group對應的test一致);
描述:針對於該配置的描述;
配置格式:配置文件的格式,要和Data ID中的後綴格式一致(這里筆者用的是yml,那麼下面就選擇yaml,注意該位置也可以選擇properties,但是必須和上面bootstrap.yml文件中的file-extension的值相匹配);
配置內容:具體的配置內容(這里筆者將項目中的application.yml中的配置全部拷貝至其中);

測試啟動consumer服務,在application.yml中為空的時候,項目啟動埠還是如Nacos配置中的9011,說明項目依賴Nacos的配置中心成功,其他服務如法炮製即可:

新增一個測試Controller,然後加上@RefreshScope註解,表明該Controller中的配置數據為自動刷新

編輯Nacos中的配置文件consumer新增相關參數type: test,訪問Controller,返回test。效果如下圖:

將Nacos中consumer.yml文件的type: test修改為type: prod,在不重啟項目的情況下重新訪問對應的controller,效果如下圖:

因為Dubbo是屬於各個服務之間都要公用的依賴,所以將其引入cloud-common當中,詳細的版本可以去 mvnrepository 搜索合適自己項目的

引入依賴後需要編寫消費者服務中的配置文件,將Dubbo服務注冊至Nacos,新增如下內容,其中subscribed-services指的是生產者服務,prot:-1指的是埠隨機,registry:address:指的是Dubbo對應的注冊中心那這里就應該設置為Nacos

接下來新增介面服務,項目類型為Maven項目,在項目中新增一個介面。並在cloud-provider(生產者)和cloud-consumer(消費者)pom.xml文件中都引入該模塊

在生產者實際服務中實現該介面對應的方法

在服務消費者的Controller中引入該Service,並在該Service上加入@Reference註解,注意在引入jar包的時候選擇帶有Dubbo的,不要使用Jdk原生的

編寫消費者服務中測試Dubbo調用的介面,進行測試,測試結果如下圖:

閱讀全文

與nacos配置文件動態刷新原理相關的資料

熱點內容
cnc6等分孔怎麼編程 瀏覽:127
qq信封哪裡可以買到 瀏覽:655
extjswindow關閉按鈕 瀏覽:470
java讀文件路徑 瀏覽:428
電池閥怎麼編程 瀏覽:748
java聖誕樹 瀏覽:710
卸載系統文件 瀏覽:459
oracle資料庫的表文件 瀏覽:400
漫畫文件後綴是pdf能改嗎 瀏覽:932
jar簽名工具 瀏覽:816
谷歌瀏覽器歷史版本 瀏覽:741
js模態窗口頁面跳轉彈出新頁面 瀏覽:738
如何將圖片轉換為文本文件格式 瀏覽:205
模具編程怎麼區分大師傅和小師傅 瀏覽:442
nodejsstream 瀏覽:749
mypictures文件是什麼 瀏覽:925
數控編程螺紋小徑怎麼算 瀏覽:944
javapconstantpool 瀏覽:709
微信聯系人文件夾名稱 瀏覽:721
html代碼去優酷廣告 瀏覽:491

友情鏈接