1. Home
  2. ALL

SpringCloud Alibaba微服务商城项目(十):SpringCloud Alibaba Nacos配置中心

目录

  1. 简单的例子告诉我们如何使用
    1.1 导入配置pom依赖到common项目
    1.2 以coupon项目为例子加入配置中心bootstrap.properties配置文件
    1.3 用nacos配置中心进行配置设置
  2. nacos配置中心的命名空间概念与配置分组
    2.1 命名空间
    2.2 配置集
    2.3 配置集ID
    2.4 配置分组
    2.5 我们自己项目的配置划分
  3. nacos加载多配置集合
    3.1 application.yml拆分
    3.2 配置文件集成
    3.3 注释掉项目内的application.yml文件然后重启测试

1. 简单的例子告诉我们如何使用

这个例子我们以coupon为例子进行配置测试,因为之前nacos服务软件已经安装完整,我们的nacos服务发现以及nacos配置中心都是基于这个nacos中心进行的,所以我们只需要对项目进行简单的配置即可进行此实例,官方文档地址
https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md
nacos的官方文档
https://nacos.io/zh-cn/docs/quick-start.html

1.1 导入配置pom依赖到common项目

因为每个微服务模块都需要用到配置中心所以我们把配置中心的pom依赖加入到common项目中去

file

1.2 以coupon项目为例子加入配置中心bootstrap.properties配置文件

**这个配置文件会优先于application.yml执行,

file

**在application.yml里面写入我们自己的配置

file

**然后我们在couponController里面写测试方法和属性

//    这个注解是直接引用我们配置文件里面的配置项
@Value("${user.title}")
private String title;
@Value("${user.age}")
private Integer age;

@RequestMapping("/test")
public R test(){
    return R.ok().put("title",title).put("age",this.age);
}

然后我们访问接口地址成功返回如下结果

file

1.3 用nacos配置中心进行配置设置

我们之前用的是本身的配置文件进行参数配置但是如果这样的话,若是出现要修改的情况,就需要重新修改然后编译打包,十分不方便所以我们用nacos配置中心进行动态配置

**以下是我们的配置项

file

**注意我们修改了配置的属性名称(不能直接用user.name)

file

**如果想动态刷新还需要一个注解

file

结果如下所示

file

file

总结如下
a.引入nacos依赖
b.创建一个bootstrap.properties并且配置
c.需要给配置中心默认添加一个 当前应用名字.properties 这样格式的data-id
d.然后给这个配置项添加任何配置
e.应用程序加入注解@RefreshScope 并且用@Value("${配置项名字}")

本地和配置中心优先用的是配置中心

2. nacos配置中心的命名空间概念与配置分组

2.1 命名空间

命名空间是用于配置隔离用的,默认的是public这个空间,新增的配置默认都在这个public空间下面 命名空间是用于配置隔离用的,默认的是public这个空间,新增的配置默认都在这个public空间下面 file
我们实际开发场景有开发环境配置,测试环境配置,和生产环境配置,所以这个需要明确

**我们尝试创建开发环境测试环境和生产环境的命名空间,如下所示

file

**我们在prod命名空间下面分别创建我们上面用的配置项,但是配置项的值对比public命名空间的配置项的值我们需要区分对待

  • prod命名空间的配置*

    file

  • public命名空间的配置*

    file

当然我们项目中用的是默认的public命名空间的配置项,如果我们想用prod命名空间的配置项,该怎么办?

不用担心,只需要在bootstrap.properties进行一个简单的修改即可:不用担心,只需要在bootstrap.properties进行一个简单的修改即可:

file

spring.cloud.nacos.config.namespace这个配置就可以定义我们的命名空间,value是我们nacos配置中心命名空间的id值

file

然后重启项目看一下修改后的效果:

file

tips:我们用的是根据微服务去划分命名空间,后面项目中的配置会议微服务为名字去进行命名空间的区分

2.2 配置集

所有的配置集合叫做配置集

2.3 配置集ID

就是我们的配置文件名字 比如application.yml,下面就是配置集id对应的nacos配置中心后台的选项

file

2.4 配置分组

所有的配置集都初始化属于 DEFAULT GROUP,实际场景分组名称比如618女王节 618,双11分组名称 1111等等

**我们在prod命名空间下面创建618分组下面的wkkmall-coupon.properties配置

file

**然后在我们wkkmall-coupon里面的bootstrap.properties

file

**重启项目,测试一下

file

2.5 我们自己项目的配置划分

大概是这样划分的,我们自己的项目不同微服务建立自己对应的命名空间 比如coupon product等等,然后每个微服务不同的开发环境用分组去定义 比如dev test prod等等


3. nacos加载多配置集合

这个指的是配置文件的拆分,比如数据库配置专门划分一个文件,springcloud的专门划分出来或者不同软件的配置也划分出来,我们还是以wkkmall-coupon模块的prod命名空间下的配置文件为例子进行测试

3.1 application.yml拆分

**创建database.yml数据库配置(prod分组下面)

file

其他的配置项同理,我们最终效果

file

3.2 配置文件集成

集成方法很简单就是在bootstrap.properties里面进行一个简单的配置即可,如下图所示

file

3.3 注释掉项目内的application.yml文件然后重启测试

file

测试结果如下,加载成功了

file

原创文章,作者:admin,如若转载,请注明出处:https://www.cxylaowang.com/429.html

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact Us

在线咨询:点击这里给我发消息

邮件:814489173@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code