亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

當(dāng)前位置:首頁 > IT課程問答

JAVA-Nacos多環(huán)境配置 時間:2023-04-23      來源:華清遠(yuǎn)見

Nacos多環(huán)境配置

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

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

 Nacos一方面可以將配置集中管理,另一方可以在配置變更時,及時通知微服務(wù),實(shí)現(xiàn)配置的熱更新。

 

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

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

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

1.DataID方案

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

1.1 Nacos配置中心

在Nacos頁面中配置管理的配置列表創(chuàng)建配置:


 

 

DataID完整格式如下:

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

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

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

file-exetension 為配置內(nèi)容的數(shù)據(jù)格式,可以通過配置項(xiàng) spring.cloud.nacos.config.file-extension 來配置。支持 properties 、 yaml 和 yml 類型。

Group:分組,默認(rèn)為DEFAULT_GROUP。

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

配置內(nèi)容:根據(jù)自己需要配置的內(nèi)容進(jìn)行配置。

1.2 springboot配置

引入nacos-config依賴

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

創(chuàng)建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項(xiàng)目,使用postman通過消費(fèi)者遠(yuǎn)程訪問接口,可以成功返回結(jié)果:

 

2.GROUP方案

我們知道Group為分組,默認(rèn)為:DEFAULT_GROUP,現(xiàn)在我們在Nacos分出兩組,一組是“Dev開發(fā)組”,一組是“test測試組”

2.1 Nacos配置中心


2.2 springboot配置

微服務(wù)根據(jù)指定分組為dev或test進(jìn)行切換。

 

啟動springboot項(xiàng)目,使用postman通過消費(fèi)者遠(yuǎn)程訪問接口,可以成功返回結(jié)果:

 

 

3.命名空間方案

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

3.1 Nacos配置中心

3.1.1 創(chuàng)建命名空間

在Nacos頁面點(diǎn)擊命名空間,點(diǎn)擊創(chuàng)建命名空間

 

輸入要新建的空間名,點(diǎn)擊確定

點(diǎn)擊服務(wù)列表和配置列表,查看多出一個命名空間

3.1.2 配置中心新增配置文件

在test命名空間下新建配置

添加配置項(xiàng):

在此,我們可以定義不同的GROUP及DataID,實(shí)現(xiàn)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項(xiàng)目,使用postman通過消費(fèi)者遠(yuǎn)程訪問接口,可以成功返回結(jié)果:

4.權(quán)限控制+命名空間方案

在命名空間基礎(chǔ)上,添加用戶權(quán)限控制,可根據(jù)不同用戶拉取該用戶所擁有的不同命名空間的配置。

4.1 權(quán)限控制

4.1.1 開啟權(quán)限控制

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

nacos.core.auth.enabled=true

4.1.2 創(chuàng)建自定義用戶

在Nacos頁面上點(diǎn)擊用戶列表,在列表頁面點(diǎn)擊創(chuàng)建用戶

 

輸入用戶名和密碼,點(diǎn)擊確定完成用戶創(chuàng)建。

4.1.3 創(chuàng)建角色

在Nacos頁面上點(diǎn)擊角色管理,在管理頁面點(diǎn)擊綁定角色
 

角色名可以自定義輸入任意的名稱,用戶名輸入已經(jīng)創(chuàng)建的用戶,點(diǎn)擊確定完成。

4.1.4 創(chuàng)建權(quán)限

在Nacos頁面上點(diǎn)擊權(quán)限管理,在管理頁面點(diǎn)擊添加權(quán)限

 

角色名:已經(jīng)創(chuàng)建的角色

資源:已經(jīng)創(chuàng)建的命名空間

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

點(diǎn)擊確定按鈕,完成權(quán)限添加。

在nacos頁面上退出賬號,以新創(chuàng)建的賬號登錄:

 

當(dāng)訪問配置列表和服務(wù)列表的public時,提示權(quán)限認(rèn)證失敗,此時配置列表中public命名空間的配置文件不能進(jìn)行讀寫。

4.1.5 創(chuàng)建命名空間的配置文件

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

 

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中已經(jīng)配置nacos的用戶名和密碼,在這里可不配置,用戶名默認(rèn)使用spring.cloud.nacos.username,密碼默認(rèn)使用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項(xiàng)目,使用postman通過消費(fèi)者遠(yuǎn)程訪問接口,可以成功返回結(jié)果:

 

將bootstrap.properties中的group、active修改為dev,啟動springboot項(xiàng)目則報(bào)錯:

 

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

 

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

下一篇:H5教學(xué)-瀑布流

戳我查看2024年嵌入式每月就業(yè)風(fēng)云榜

點(diǎn)我了解華清遠(yuǎn)見高校學(xué)霸學(xué)習(xí)秘籍

猜你關(guān)心企業(yè)是如何評價華清學(xué)員的

干貨分享
相關(guān)新聞
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠(yuǎn)見科技發(fā)展有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 日本中文字幕在线观看 | 日韩99精品 | 日本三级s级在线播放 | 久久久久免费精品视频 | 国产精品久久一区 | 波多野结衣一级毛片 | 亚洲精品国精品久久99热 | 久久欧洲视频 | 在线视免费频观看韩国aaa | 亚洲欧美日韩不卡 | 亚洲日本天堂在线 | 午夜成私人影院在线观看 | 日韩久久久精品首页 | 久久国产亚洲 | 美女黄色三级 | 香港三级日本三级澳门三级人 | 欧美激情一区二区三区在线 | 青青草视频官网 | 亚洲黄色免费看 | 天天摸天天躁天天添天天爽 | 欧美性网站 | 久久国产免费观看精品1 | 欧美在线观看网址 | 男女尻逼 | 久久精品草 | 两个人看的视频播放www | 九九热视频免费观看 | 国产日韩欧美视频 | 欧美在线色 | 精品在线小视频 | 欧美在线高清 | 欧美成人手机视频免费播放 | 麻豆果冻传媒新剧国产短视频 | 亚洲午夜网站 | 日韩欧美在线一区二区三区 | 九九精品视频免费 | 伦理片我的性老师 | 成人中文网 | 欧美日韩国产综合一区二区三区 | 99视频一区 | 国产精品一国产精品 |