色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > IT課程問答

JAVA-Nacos多環境配置 時間:2023-04-23      來源:華清遠見

Nacos多環境配置

 在開發過程中,我們的項目會存在不同的運行環境,比如開發環境、測試環境、生產環境,而我們的項目在不同的環境中,有的配置可能會不一樣,比如數據源配置、日志文件配置、以及一些軟件運行過程中的基本配置,那每次我們將軟件部署到不同的環境時,都需要修改相應的配置文件,這樣來回修改,很容易出錯,而且浪費勞動力。

 Nacos除了可以做注冊中心,也可以做統一配置管理(配置中心),Nacos提供了一種統一配置管理方案,可以集中管理所有實例的配置。

 Nacos一方面可以將配置集中管理,另一方可以在配置變更時,及時通知微服務,實現配置的熱更新。

 

微服務要拉取Nacos中管理的配置,并且與本地的application.properties配置合并,才能完成項目啟動,否則項目啟動時就會報錯。

但是現在有個問題:未讀取application.properties,又如何得知nacos地址呢?

Spring引入了一種新的配置文件:bootstrap.properties文件,會在application.properties之前被讀取。

1.DataID方案

在springboot配置文件中指定spring.profile.active和Nacos配置中心的DataID來使不同環境下讀取不同的配置。

1.1 Nacos配置中心

在Nacos頁面中配置管理的配置列表創建配置:


 

 

DataID完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}

prefix 默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。因此prefix的名字需要與項目配置文件中spring.application.name 的值保持一致。

spring.profiles.active 即為當前環境對應的 profile,例如開發環境為dev,測試環境為test,生產環境為prod等。 因此這里的值需要與項目配置文件中的spring.profiles.active的值保持一致。注意:當 spring.profiles.active 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 𝑝𝑟𝑒𝑓𝑖𝑥.{file-extension}。

file-exetension 為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。支持 properties 、 yaml 和 yml 類型。

Group:分組,默認為DEFAULT_GROUP。

配置格式:目前,Springboot中能識別的配置格式只支持YAML和Properties兩個格式。

配置內容:根據自己需要配置的內容進行配置。

1.2 springboot配置

引入nacos-config依賴

<!-- 配置中心 --> <dependency>     <groupId>com.alibaba.cloud</groupId>     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>

創建bootstrap.properties

#注冊中心地址 spring.cloud.nacos.config.server-addr=localhost:8848 #與配置中心DataID的prefix一致 spring.cloud.nacos.config.prefix=productor ##與配置中心DataID的file-exetension一致 spring.cloud.nacos.config.file-extension=properties #與配置中心DataID的spring.profiles.active一致 spring.profiles.active=dev

啟動springboot項目,使用postman通過消費者遠程訪問接口,可以成功返回結果:

 

2.GROUP方案

我們知道Group為分組,默認為:DEFAULT_GROUP,現在我們在Nacos分出兩組,一組是“Dev開發組”,一組是“test測試組”

2.1 Nacos配置中心


2.2 springboot配置

微服務根據指定分組為dev或test進行切換。

 

啟動springboot項目,使用postman通過消費者遠程訪問接口,可以成功返回結果:

 

 

3.命名空間方案

我們創建命名空間, 通過切換對應的命名空間,然后再通過Group和DataID來進行切換,即可以按照Namespace+Group+DataId來切換使用不同的配置文件。

3.1 Nacos配置中心

3.1.1 創建命名空間

在Nacos頁面點擊命名空間,點擊創建命名空間

 

輸入要新建的空間名,點擊確定

點擊服務列表和配置列表,查看多出一個命名空間

3.1.2 配置中心新增配置文件

在test命名空間下新建配置

添加配置項:

在此,我們可以定義不同的GROUP及DataID,實現Namespace+Group+DataId來切換不同的配置文件。

3.2 springboot配置

在bootstrap.properties文件中配置namespace、group及DataID

#注冊中心地址 spring.cloud.nacos.config.server-addr=localhost:8848
#與配置中心DataID的prefix一致 spring.cloud.nacos.config.prefix=productor ##與配置中心DataID的file-exetension一致
spring.cloud.nacos.config.file-extension=properties spring.cloud.nacos.config.group=TEST_GROUP
#與配置中心DataID的spring.profiles.active一致
spring.profiles.active=test spring.cloud.nacos.config.namespace=5f8d56ea-111b-46e6-9edb-68bf92b9706b

啟動springboot項目,使用postman通過消費者遠程訪問接口,可以成功返回結果:

4.權限控制+命名空間方案

在命名空間基礎上,添加用戶權限控制,可根據不同用戶拉取該用戶所擁有的不同命名空間的配置。

4.1 權限控制

4.1.1 開啟權限控制

在nacos目錄的conf文件夾下編輯application.properties,設置:

nacos.core.auth.enabled=true

4.1.2 創建自定義用戶

在Nacos頁面上點擊用戶列表,在列表頁面點擊創建用戶

 

輸入用戶名和密碼,點擊確定完成用戶創建。

4.1.3 創建角色

在Nacos頁面上點擊角色管理,在管理頁面點擊綁定角色
 

角色名可以自定義輸入任意的名稱,用戶名輸入已經創建的用戶,點擊確定完成。

4.1.4 創建權限

在Nacos頁面上點擊權限管理,在管理頁面點擊添加權限

 

角色名:已經創建的角色

資源:已經創建的命名空間

動作:只讀(r)、只寫(w)、讀寫(rw)

點擊確定按鈕,完成權限添加。

在nacos頁面上退出賬號,以新創建的賬號登錄:

 

當訪問配置列表和服務列表的public時,提示權限認證失敗,此時配置列表中public命名空間的配置文件不能進行讀寫。

4.1.5 創建命名空間的配置文件

根據命名空間方案(文中第3中方案)創建配置文件,以test命名空間為例,創建test命名空間,在test命名空間下創建配置文件。

 

4.2 springboot配置

在bootstrap.properties中添加test的用戶名、密碼、命名空間配置

#注冊中心地址 spring.cloud.nacos.config.server-addr=localhost:8848
#與配置中心DataID的prefix一致 spring.cloud.nacos.config.prefix=productor #
#與配置中心DataID的file-exetension一致
spring.cloud.nacos.config.file-extension=properties spring.cloud.nacos.config.group=TEST_GROUP
#與配置中心DataID的spring.profiles.active一致
spring.profiles.active=test spring.cloud.nacos.config.namespace=5f8d56ea-111b-46e6-9edb-68bf92b9706b spring.cloud.nacos.username=test spring.cloud.nacos.password=123456

由于在Nacos中給test用戶分配了test命名空間,所以需要在application.properties中添加test的命名空間配置,在bootstrap.properties中已經配置nacos的用戶名和密碼,在這里可不配置,用戶名默認使用spring.cloud.nacos.username,密碼默認使用spring.cloud.nacos.password。

spring.cloud.nacos.discovery.server-addr=localhost:8848 spring.cloud.nacos.discovery.service=${spring.application.name} spring.cloud.nacos.discovery.namespace=${spring.cloud.nacos.config.namespace}

4.3 測試

啟動springboot項目,使用postman通過消費者遠程訪問接口,可以成功返回結果:

 

將bootstrap.properties中的group、active修改為dev,啟動springboot項目則報錯:

 

該現象說明當group、active修改為dev后,test用戶沒有權限訪問,不能拉取nacos中dev命名空間下的配置文件,導致springboot項目啟動獲取配置文件中的配置項時失敗。

 

上一篇:程序員面試時,那些必須注意的事情

下一篇:H5教學-瀑布流

戳我查看2024年嵌入式每月就業風云榜

點我了解華清遠見高校學霸學習秘籍

猜你關心企業是如何評價華清學員的

干貨分享
相關新聞
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 巨大黑人极品videos精品 | 扒开粉嫩小泬直接进视频 | 色情无码WWW视频无码区 | 狠狠综合久久AV一区二区 | 亚洲欧美国产成人综合不卡 | 麻豆美女裸体aaaa片 | AV在线观看网站无码不卡的 | 国产亚洲精品精品国产亚洲综合 | 最新精品国偷自产在线 | 久久精品日日躁夜夜躁 | 久久精品国产亚洲AV蜜臀 | 无码免费在线观看小视频 | 中文字幕亚洲色妞精品天堂 | 欧美片网站免费 | 欧美xxxx做受欧美人妖 | 亚洲欧美日产综合在线网 | 丰满岳跪趴高撅肥臀尤物在线观看 | 日韩一卡2卡3卡4卡新区乱码在线观看 | 欧美野外疯狂做受XXXX高潮 | 国产大片黄在线观看私人影院 | 日本护士╳╳╳HD少妇 | 小黄文纯肉污到你湿 | 狠狠色狠狠色狠狠五月 | 亚洲中文字幕成人无码 | 免费a级午夜绝情美女图片 国产又黄又刺激又高潮的网站 | 日韩av无码中文一区二区三区 | 国产AV天堂无码一区二区三区 | JLZZJLZZ亚洲乱熟在线播放 | 无码少妇高潮浪潮AV久久 | 日本片在线观看 | 离异熟女不戴套456 国产熟妇与子伦hd 老司机无码精品A | 欧美牲交VIDEOSSEXES | 日本AAAA级毛卡片免费观看 | 人妻AV中文字幕一区二区三区 | 亚洲中文字幕无码专区 | 成人片在线观看地址KK4444 | 老人内射视频代码免费视频 | 日本aⅴ精品中文字幕 | 香港日本三级亚洲三级 | 牛和人交xxxx欧美 | 久久综合给合久久狠狠狠88 |