栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

微服务SpringCloud Alibaba ------(七)Nacos-config

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微服务SpringCloud Alibaba ------(七)Nacos-config

1. Nacos配置中心使用

官方文档: https://qithub.com/alibaba/spring-cloud-alibaba/wiki/Nacos-confia
Nacos提供用于存储配置和其他元数据的key/value存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用Spring Cloud Alibaba Nacos Config,您可以在Nacos Server集中管理你Spring Cloud应用的外部属性配置。

nacos-config支持:

  1. 环境拆分:通过namespace、group、DataId来区分不同项目不同环境下的配置文件
  2. 热更新:无需手动维护,1秒内自动更新配置
2. 权限控制

通过URL访问可视化界面在左侧菜单“权限控制”中进行操作,同时在nacos的conf文件夹下的application.properties中将nacos.core.auth.enabled修改为true

nacos.core.auth.enabled=true
2.1. 配置文件最佳实践

Namespace:代表不同环境,如:dev、test、prod。
Group:代表某项目,如XX医疗项目、XX电商项目
DataId:每个项目下往往有若干个工程(微服务),每个配置集(DataId)是一个工程(微服务)的主配置文件

3. Spring Cloud Alibaba 整合 Nacos-config 3.1. 第一步

添加依赖


    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config

3.2. 第二步

新建bootstrap.yml来配置

spring:
  application:
    # 会自动根据服务名拉取dataId对应的文件,如果dataId跟服务名不一致,那么需要手动指定
    # 默认文件,除了默认文件,其他文件必须写上后缀
    name: com.tulingmall.order.redis
  profiles:
    # 环境配置,在配置中心可以通过profile进行设置,只有默认的配置文件(spring.application.name)才能这么使用
    # 拉取到的文件为${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
    active: dev
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
      # profile配置文件的优先级 > 默认配置文件优先级 > extension-configs(下标大的优先级高) > shared-configs(下标大的优先级高) 并且优先级大的会覆盖小的,形成互补
      config:
		#refresh-enabled: false #nacos客户端将无法感知配置文件的变化
        # nacos客户端默认读取properties文件拓展名,当读取非properties时需修改此配置
        # 只针对默认配置文件和profile配置文件
        file-extension: yaml
        namespace: public
        group: DEFAULT_GROUP
        shared-configs:
          - data-id: com.xxx.common.properties
            refresh: true
            #group: 默认是DEFAULT_GROUP
        extension-configs:
          - data-id: com.xxx.common.properties02
            refresh: true
            #group: 默认是DEFAULT_GROUP
3.3. 第三步

URL访问nacos可视化工具来创建相应的配置文件

4. 注意项
  1. profile配置文件的优先级 > 默认配置文件优先级 > extension-configs(下标大的优先级高) > shared-configs(下标大的优先级高) 并且优先级大的会覆盖小的,形成互补
  2. nacos开启认证后nacos配置文件中必须填写name和password
  3. 代码中实时获取配置中心的值
    @RestController
    @RequestMapping("/config")
    // 使用该注解来动态获取配置中心的值
    @RefreshScope
    public class ConfigController {
        @Value("${user.name}")
        private String name;
    
        @RequestMapping("/show")
        public String show(){
            return name;
        }
    }
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/591744.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号