李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
04.Nacos作为服务配置中心分类配置演示
Leefs
2023-01-08 PM
976℃
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
标签云
二叉树
Spark
算法
Jquery
Golang基础
Tomcat
Jenkins
Http
机器学习
Java阻塞队列
Zookeeper
容器深入研究
Spark RDD
FastDFS
Java工具类
Scala
栈
Elasticsearch
CentOS
线程池
Kafka
锁
MyBatis
Livy
稀疏数组
MyBatis-Plus
Spring
Quartz
BurpSuite
nginx
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞