配置中心(nacos)-控制台使用

配置中心(nacos)-控制台使用

一、命名空间

作用:配置隔离

  • 默认空间
    • public(保留空间):默认新增的所有配置都在public空间。
  • 新建默认空间:
    • 创建流程
      • 命名空间 - 新建命名空间
      • 填写 “命名空间名” 与 “描述”, 点击 “确定”
      • 生成一条信息,包含命名空间的唯一ID

1、基于环境隔离

因项目需要可能分不同的部署环境。例如开发,测试,生产。

  • 修改bootstrap.properties文件

    spring.cloud.nacos.config.namespace=<命名空间的ID>
    

2、基于微服务相互隔离

每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置。

二、配置集

所有的配置的集合。

三、配置集ID

类似文件名。在控制台中,新建配置时的Data ID就是配置集ID。

四、配置分组

默认所有的配置集都属于 DEFAULT_GROUP。组名可随意创建。

  • 修改bootstrap.properties文件

    spring.cloud.nacos.config.group=<组名>
    

五、举例

  • 每个微服务创建自己的命名空间
  • 使用配置分组区分环境。例如dev,test,prod

六、同时加载多个配置集

随着业务不断壮大,微服务可能有非常多的配置,如果我们将所有的配置都放在一个配置文件中,不易维护。

所以我们需要拆分出不同的配置文件。例如可根据数据源、框架、微服务等进行拆分。

  • 修改bootstrap.properties文件

    spring.cloud.nacos.server-addr=127.0.0.1:8848
    spring.application.name=test-demo
    
    spring.cloud.nacos.config.namespace=<命名空间的ID>
    
    # 如果此处不配置 spring.cloud.nacos.config.group
    # 则命名空间下 DEFAULT_GROUP(默认分组) 加载默认分组的
    # 命名空间下没有默认分组,则加载项目中的
    spring.cloud.nacos.config.group=<组名>
    
    # 拓展配置 - 数据源
    spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml # 配置集ID
    spring.cloud.nacos.config.ext-config[0].group=dev	# 配置分组
    spring.cloud.nacos.config.ext-config[0].refresh=true # 动态刷新
    
    # 拓展配置 - mybatis
    spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml # 配置集ID
    spring.cloud.nacos.config.ext-config[1].group=dev	# 配置分组
    spring.cloud.nacos.config.ext-config[1].refresh=true # 动态刷新
    
    # 拓展配置 - 其他
    spring.cloud.nacos.config.ext-config[2].data-id=other.yml # 配置集ID
    spring.cloud.nacos.config.ext-config[2].group=dev	# 配置分组
    spring.cloud.nacos.config.ext-config[2].refresh=true # 动态刷新
    

七、总结

  • 微服务任何配置信息,任何配置文件都可以放在配置中心中
  • 只需要在bootstrap.properties文件中说明加载配置中心中哪些配置文件即可。
  • 以前Spring Boot 中任何方法从配置中获取值的,例如:@Value,@ConfigurationProperties都能使用。
  • 配置中心有的优先使用配置中心的值。

本文内容学习自谷粒商城--微服务分布式电商项目-分布式基础。

课程地址

上一篇:统计一个目录下各种文件类型及个数


下一篇:RocetMQ搭建攻略和问题解决之道