Nacos配置中心,你要懂的!
點擊上方藍(lán)色字體,選擇“標(biāo)星公眾號”
優(yōu)質(zhì)文章,第一時間送達(dá)
一、配置中心介紹
1、Spring Cloud Config
Spring Cloud Config 為分布式系統(tǒng)的外部配置提供了服務(wù)端和客戶端的支持方案。在配置的服務(wù)端您可以在所有環(huán)境中為應(yīng)用程序管理外部屬性的中心位置。客戶端和服務(wù)端概念上的Spring Environment 和 PropertySource 抽象保持同步, 它們非常適合Spring應(yīng)用程序,但是可以與任何語言中運行的應(yīng)用程序一起使用。當(dāng)應(yīng)用程序在部署管道中從一個開發(fā)到測試直至進入生產(chǎn)時,您可以管理這些環(huán)境之間的配置,并確保應(yīng)用程序在遷移時具有它們需要運行的所有內(nèi)容。服務(wù)器存儲后端的默認(rèn)實現(xiàn)使用git,因此它很容易支持標(biāo)記版本的配置環(huán)境,并且能夠被管理內(nèi)容的各種工具訪問。很容易添加替代的實現(xiàn),并用Spring配置將它們插入。
Spring Cloud Config 包含了Client和Server兩個部分,server提供配置文件的存儲、以接口的形式將配置文件的內(nèi)容提供出去,client通過接口獲取數(shù)據(jù)、并依據(jù)此數(shù)據(jù)初始化自己的應(yīng)用。Spring cloud使用git或svn存放配置文件,默認(rèn)情況下使用git。
2、Nacos替換Config
Nacos 可以與 Spring, Spring Boot, Spring Cloud 集成,并能代替 Spring Cloud Eureka, Spring Cloud Config。通過 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 實現(xiàn)配置的動態(tài)變更。
(1)應(yīng)用場景
在系統(tǒng)開發(fā)過程中,開發(fā)者通常會將一些需要變更的參數(shù)、變量等從代碼中分離出來獨立管理,以獨立的配置文件的形式存在。目的是讓靜態(tài)的系統(tǒng)工件或者交付物(如 WAR,JAR 包等)更好地和實際的物理運行環(huán)境進行適配。配置管理一般包含在系統(tǒng)部署的過程中,由系統(tǒng)管理員或者運維人員完成。配置變更是調(diào)整系統(tǒng)運行時的行為的有效手段。
如果微服務(wù)架構(gòu)中沒有使用統(tǒng)一配置中心時,所存在的問題:
配置文件分散在各個項目里,不方便維護
配置內(nèi)容安全與權(quán)限
更新配置后,項目需要重啟
nacos配置中心:系統(tǒng)配置的集中管理(編輯、存儲、分發(fā))、動態(tài)更新不重啟、回滾配置(變更管理、歷史版本管理、變更審計)等所有與配置相關(guān)的活動。
配置中心的作用:
二、具體過程
1.下載安裝Nacos并運行,進入Nacos管理頁面,默認(rèn)用戶名和密碼nacos
啟動:
進入管理頁面:
2.在Nacos配置中心創(chuàng)建配置文件
(1)點擊 配置列表,點擊右邊 + 號,進行配置文件創(chuàng)建
(2)創(chuàng)建配置文件
Data ID 的完整規(guī)則格式如下
{prefix}-{spring.profiles.active}.{file-extension}
– prefix 默認(rèn)為所屬工程配置spring.application.name 的值(即:nacos-provider),也可以通過配置項 spring.cloud.nacos.config.prefix來配置。
spring.profiles.active=dev 即為當(dāng)前環(huán)境對應(yīng)的 profile。注意:當(dāng) spring.profiles.active 為空時,對應(yīng)的連接符 - 也將不存在,dataId 的拼接格式變成 {prefix}.{file-extension}
file-exetension 為配置內(nèi)容的數(shù)據(jù)格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支持 properties 和 yaml 類型。
下面以 properties 格式為例,將本地的application.properties內(nèi)容復(fù)制到nacos中,創(chuàng)建配置文件
創(chuàng)建完成:
3、在項目中讀取Nacos配置中心文件
3.1、補充:springboot配置文件加載順序
其實yml和properties文件是一樣的原理,且一個項目上要么yml或者properties,二選一的存在。推薦使用yml,更簡潔。
bootstrap與application
(1)加載順序
這里主要是說明application和bootstrap的加載順序。
bootstrap.yml(bootstrap.properties)先加載
application.yml(application.properties)后加載
bootstrap.yml 用于應(yīng)用程序上下文的引導(dǎo)階段。
bootstrap.yml 由父Spring ApplicationContext加載。
父ApplicationContext 被加載到使用 application.yml 的之前。
(2)配置區(qū)別
bootstrap.yml 和application.yml 都可以用來配置參數(shù)。
bootstrap.yml 可以理解成系統(tǒng)級別的一些參數(shù)配置,這些參數(shù)一般是不會變動的。
application.yml 可以用來定義應(yīng)用級別的。
3.2在項目中創(chuàng)建bootstrap.properties
并把項目之前的本地application.properties給注釋掉,
3.3 在項目中引入依賴
??
????????????org.springframework.cloud
????????????spring-cloud-starter-alibaba-nacos-config
????????????0.2.0.RELEASE
????????
然后啟動程序
這時可以看到程序已經(jīng)在端口8999啟動,說明讀取到了nacos中的配置文件
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
本文鏈接:
https://blog.csdn.net/qq_41784749/article/details/111363660
粉絲福利:Java從入門到入土學(xué)習(xí)路線圖
??????

??長按上方微信二維碼?2 秒
感謝點贊支持下哈?
