IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_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號

回到頂部

主站蜘蛛池模板: 微波烘干设备厂家-微波烘干干燥设备-山东邦普机械设备有限公司 | 久久91精品久久91综合_国产亚洲自拍一区_国产精品第1页_亚洲高清视频一区_91成人午夜在线精品_亚洲国产精品网站在线播放_亚洲国产成人久久综合区_国产精品亚洲专区在线观看_免费视频精品一区二区三区 | 模型公司|沙盘公司|优选杭州景文模型设计有限公司 | 油气润滑_稀油润滑_干油润滑-启东中德润滑设备有限公司 | 随州网站建设_随州建站公司_随州SEO优化排名_随州网络公司-随州市金思维网络科技有限公司 | 济南德固机械|膨化食品生产线|早餐谷物玉米片生产线|拉丝蛋白生产线|速食米饭生产线 | 无人叉车|智能无人叉车|智能AGV叉车|激光叉车AGV厂家_江西丹巴赫机器人股份有限公司 | 天猫代运营_淘宝代运营_正规电商代运营公司_武汉火蝠电商 | 膨胀节_波纹膨胀节_非金属膨胀节_波纹管补偿器_膨胀节厂家-江苏苏创管业科技有限公司 | 企业信息安全整体解决方案提供商-上海华垸信息技术有限公司 | 柚墨yomoer官网_PPT模板_工作总结PPT模板下载_个人简历模板 | 久久黄色一级视频_视频一区精品自拍_理论片免费ā片在线观看_亚洲色视频在线播放网站_香港经典a毛片免费观看_亚州三级久久电影 | 真空泵维修保养-真空泵-真空泵油-真空泵过滤器-真空泵碳片-东莞市海扬真空设备有限公司 | 昆明子弟食品有限公司 | 廊坊纳科新材料技术有限公司--纳科新材料技术有限公司|廊坊纳科新材料|纳科新材料技术 | 扫路车_洗扫车_清扫车_道路清扫车_天锦洗扫车-程力专用汽车股份有限公司 | 艺术网 - 大型艺术类权威门户站 艺考培训-中影人教育 【官网】-中国艺考教育的引航者 | 节能设备|余热回收|蒸汽压缩机|脱硝-河北耀一节能设备制造有限责任公司 | 江苏保捷锻压有限公司(中国汽车零部件供应商,锻造,精加工,热处理) | 河北拉丝模具厂家,沧州拉丝模具-任丘市鹏宇模具有限公司 | 浙江创洁卫生消杀有限公司-浙江杀虫公司,温州消杀公司,温州灭鼠公司,灭蟑螂,灭蚊蝇,灭跳蚤,灭书虱,灭臭虫,灭螨虫,白蚁防治,房间消毒除味等专业服务 | 网站客服系统_在线客服系统【莺语客服】| 男装加盟,男装加盟店,男装代理,男装品牌加盟,品牌男装加盟-虎豹男装品牌加盟 | 陶瓷透水砖-透水砖厂家-淄博天之润生态科技有限公司 | 暖气片,暖气片厂家,散热器,暖气片品牌-青岛瑞雪兆散热器有限公司 | 无线对讲系统-海能达对讲机-广州中达慧通科技有限公司 | 明星代言,明星代言费,明星代言价格查询-良策明星经纪公司 | 系统门窗加盟_门窗十大品牌_欧享门窗官网 | 青州市昌达机械设备有限公司_洗石机-洗砂机-筛沙机-砂石分离机-洗轮机-制砂机 | 硬度计,里氏硬度计,布氏硬度计,高强螺栓检测仪,平板导热仪,专业无损检测仪器商-北京时代新天测控技术有限公司-北京时代新天测控技术有限公司 | 网站客服系统_在线客服系统【莺语客服】| 网带式等温正火生产线_燃气式铝合金加热炉_燃气式烘干窑炉-湖州中科炉业科技有限公司 | 消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司-消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司 | 上饶市蚂蚁搬家有限公司,上饶搬家公司,上饶同城搬家,上饶同城搬家电话,上饶搬家哪家好,上饶搬家公司电话 | 信用卡申请_银行贷款_贷款计算器_银桥网 | 湖州搬家公司_档案搬迁_货物运输_钟点搬运价格「湖州蓝天家政综合服务有限公司」 | 徐州护栏,围栏,锌铁丝网围栏安全设施专家徐州铜山区威峰金属护栏厂 | 妙手网-圆心大药房-广东圆心恒金堂医药连锁有限公司-放心的网上药店_妙手医生旗下正规网上买药平台 | 誉瑞仪器是全球知名检测仪器厂商RAE在华东地区的专业级产品销售及授权维修服务商- | 矿用三环链|锻打/焊接三环链|矿车万能环|三环链销子-济宁卓力工矿设备有限公司 | 小程序开发,网站建设,APP开发,商城系统开发,社区团购系统开发,区块链溯源,互联网资质办理-软多信息技术有限公司_河南软多信息技术有限公司 |