SpringCloud系列--Nacos(3)服务配置中心(分类配置)

1、问题说明

SpringCloud系列–Nacos(2)服务配置中心介绍了Nacos作为配置中心-基础配置。但是在多环境多项目管理中通常会存在以下两个问题:

  • 在实际开发中,通常一个系统会准备dev开发环境、test测试环境、prod生产环境。那么如何保证指定环境启动时服务能正确读取到Nacos上相应环境的配置文件呢?

  • 一个大型分布式系统会有很多微服务子项目,每个微服务项目都会有相应的开发环境、测试环境、预发环境、正式环境,那怎么对这些微服务配置进行管理呢?

今天我们将一起学习 Nacos作为配置中心-分类配置,探索如何解决以上两个问题(代码参考SpringCloud系列–Nacos(2)服务配置中心)。

2、Nacos相关说明

2.1、Nacos的图形化管理界面

2.1.1、配置管理

配置管理界面

2.1.2、命名空间

命名空间

2.2、Namespace+Group+Data ID三者关系?为什么这么设计?

2.2.1、是什么
  • 类似Java里面的package名和类名
  • 最外层的namespace是可以用于区分部署环境的,Group和DatalD逻辑 上区分两个目标对象。
2.2.2、三者情况

三者情况
默认情况:
Namespace= public, Group=DEFAULT_ GROUP,默认Cluster是DEFAULT。

Nacos默认的命名空间是public, Namespace主要用来实现隔离。
比方说我们现在有三个环境:开发、测试、生产环境,我们就可以创建三个Namespace, 不同的Namespace之间是隔离的。

Group默认是DEFAULT_ GROUP, Group可以把不同的微服务划分到同一个分组里面去。

Service就是微服务; 一个Service可以包含多 个Cluster (集群),Nacos默认Cluster是DEFAULT, Clyster是对指定微服务的一个虚拟划分。
比方说为了容灾,将Service微服务分别部署在了杭州机房和广州机房,
这时就可以给杭州机房的Service微服务起一个集群名称(HZ),
给广州机房的Service微服务起一个集群名称 (GZ) ,还可以尽量让词一个机房的微服务互相调用,以提升性能。

最后是Instance,就是微服务的实例。

3、三种方案加载配置

3.1、DataID方案

指定spring.profile.active和配置文件的DataID来使不同环境下读取不同的配置:

  • 默认空间+默认分组+新建dev和test两个DataID

    新建dev配置DataID:
    新建dev配置DataID
    新建test配置DataID:
    新建test配置DataID

  • 通过spring.profile.active属性就能进行多环境下配置文件的读取。
    在这里插入图片描述

测试:
访问:http://localhost:3377/config/info
结果:配置是什么就加载什么(yaml配置spring.profile.active:test)
test

3.2、Group方案

通过Group实现环境区分:
新建group示例:
新建group
新增两个dataID为nacos-config-client-info.yaml的配置,但分别属于DEV_GROUP和TEST_GROUP:
在这里插入图片描述
代码中在bootstrap+application中操作如下:
在config下增加一条group的配置即可。可配置为DEV_GROUP或TEST_GROUP
bootstrap+application
测试:
访问:http://localhost:3377/config/info
结果:
在这里插入图片描述
获取到TEST_GROUP组中的nacos-config-client-info.yaml配置文件。

3.3、Namespace方案

新建dev/test的Namespace:
在这里插入图片描述
在这里插入图片描述
回到服务管理-服务列表查看:
在这里插入图片描述
按照域名配置填写:
在这里插入图片描述
bootstrap.yaml:
在这里插入图片描述
bootstrap.yaml中新增namespace配置。
测试如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值