李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
04.Nacos作为服务配置中心分类配置演示
Leefs
2023-01-08 PM
1656℃
0条
[TOC] ### 一、分类配置 #### 1.1 分布式开发中的多环境多项目管理问题 > 问题一 实际开发中,通常一个系统会准备dev开发环境、test测试环境、prod生产环境。 如何保证指定环境启动时服务能正确读取到Nacos上相应环境的配置文件呢? > 问题二 一个大型分布式微服务系统会有很多**微服务子项目**,每个微服务项目又都会有相应的开发环境、测试环境、预发环境、正式环境。 如何对这些微服务配置进行管理呢? #### 1.2 Nacos图形化管理界面 **(1)配置管理** ![04.Nacos作为服务配置中心分类配置演示01.jpg](https://lilinchao.com/usr/uploads/2023/01/184743874.jpg) **(2)命名空间** ![04.Nacos作为服务配置中心分类配置演示02.jpg](https://lilinchao.com/usr/uploads/2023/01/1816650014.jpg) #### 2.3 三者关系? 对于Nacos配置管理,通过`Namespace`、`group`、`Data ID`能够定位到一个配置集。 ![04.Nacos作为服务配置中心分类配置演示03.jpg](https://lilinchao.com/usr/uploads/2023/01/2830767366.jpg) **默认情况** > + `Namespace`:public > + `Group`:DEFAULT_GROUP > + `Service/DataId`默认是DEFAULT - `Namespace`: 代表不同的环境的配置隔离, 如: 开发、测试, 生产等 - `Group`: 可以代表某个项目, 如XX医疗项目, XX电商项目 - `Service/DataId`: 每个项目下往往有若干个工程, 每个配置集(`Service/DataId`)是一个工程的主配置文件 ![04.Nacos作为服务配置中心分类配置演示04.jpg](https://lilinchao.com/usr/uploads/2023/01/2024450807.jpg) ### 二、三种方案加载配置 #### 2.1 DataID方案 > 指定`spring.profile.active`和配置文件的`DataID`来使不同环境下读取不同的配置 > > 默认空间+默认分组+新建dev和test两个DataID + **修改`application.yaml`** ![04.Nacos作为服务配置中心分类配置演示05.jpg](https://lilinchao.com/usr/uploads/2023/01/1436886454.jpg) 通过`spring.profile.active`属性就能进行多环境下配置文件的读取 + **新建test配置DataID** ![04.Nacos作为服务配置中心分类配置演示06.jpg](https://lilinchao.com/usr/uploads/2023/01/1895516232.jpg) 这里命名空间是默认的public,Group也是默认的DEFAULT_GROUP。 ![04.Nacos作为服务配置中心分类配置演示07.jpg](https://lilinchao.com/usr/uploads/2023/01/3014985004.jpg) + 重启`config-nacos-client`服务,访问如下地址 ``` http://localhost:3377/config/info ``` ![04.Nacos作为服务配置中心分类配置演示08.jpg](https://lilinchao.com/usr/uploads/2023/01/1439617460.jpg) 成功读取到test配置下的`config.info`。 #### 2.2 Group方案 默认Group是DEFAULT_GROUP,现在通过Group实现环境分区 **(1)新建一个配置文件,添加到DEV_GROUP分组** ![04.Nacos作为服务配置中心分类配置演示09.jpg](https://lilinchao.com/usr/uploads/2023/01/1979073688.jpg) **(2)新建一个配置文件,添加到TEST_GROUP分组** ![04.Nacos作为服务配置中心分类配置演示10.jpg](https://lilinchao.com/usr/uploads/2023/01/3632223636.jpg) **(3)查看配置管理列表** ![04.Nacos作为服务配置中心分类配置演示11.jpg](https://lilinchao.com/usr/uploads/2023/01/1326799399.jpg) **(4)在config下增加一条group的配置** > 可配置为DEV_GROUP或TEST_GROUP ![04.Nacos作为服务配置中心分类配置演示12.jpg](https://lilinchao.com/usr/uploads/2023/01/588849259.jpg) **(5)测试** 重启服务访问浏览器进行测试 ![04.Nacos作为服务配置中心分类配置演示13.jpg](https://lilinchao.com/usr/uploads/2023/01/3055474878.jpg) #### 2.3 Namesapce方案 **(1)新建dev和test的Namesapce** ![04.Nacos作为服务配置中心分类配置演示14.jpg](https://lilinchao.com/usr/uploads/2023/01/1730258150.jpg) **(2)回到服务管理-服务列表查看** ![04.Nacos作为服务配置中心分类配置演示15.jpg](https://lilinchao.com/usr/uploads/2023/01/1189344947.jpg) **(3)在这两个新建的namespace中分别新建三个不同分组的配置文件** ![04.Nacos作为服务配置中心分类配置演示16.jpg](https://lilinchao.com/usr/uploads/2023/01/3288452827.jpg) **(4)修改`config-nacos-client`服务的yaml文件** + **bootstrap.yaml** ![04.Nacos作为服务配置中心分类配置演示17.jpg](https://lilinchao.com/usr/uploads/2023/01/133712998.jpg) > *注意:namespace参数值要与Nacos中命名空间的id对应* + **application.yaml** ![04.Nacos作为服务配置中心分类配置演示18.jpg](https://lilinchao.com/usr/uploads/2023/01/3730212266.jpg) **(5)重启服务测试** ![04.Nacos作为服务配置中心分类配置演示19.jpg](https://lilinchao.com/usr/uploads/2023/01/3367888300.jpg) ### 三、总结 + DataID方案是在默认namesapce和默认Group下,创建两个不同的DataID。 + Group方案是在默认namespace下,新建两个DataID相同的配置文件,通过指定不同的分组来读取不同的配置。 + Namespace方案,是相同的Group,相同的DataID,创建并指定不同的namespace来读取不同配置。
标签:
SpringCloudAlibaba
,
Nacos
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/2767.html
上一篇
03.Nacos作为服务配置中心基础配置演示
下一篇
01.Sentinel介绍
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
Spark SQL
Typora
Zookeeper
Stream流
Spark RDD
Spark Core
SpringCloud
散列
人工智能
递归
Map
MySQL
JavaScript
Spring
算法
Java编程思想
Golang
工具
队列
正则表达式
DataX
LeetCode刷题
并发编程
JavaWeb
Scala
国产数据库改造
FastDFS
JavaSE
Yarn
Hive
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭