SpringCloud Alibaba入门教程七——配置管理与动态刷新


不同环境需要不同的配置,配置属性需要动态刷新。

微服务配置管理

使用Nacos进行配置管理

引入依赖spring-cloud-starter-alibaba-nacos-config
在这里插入图片描述

配置bootstrap.yml

spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
  aplication:
    name: content-center
  profiles:
    active: dev

之后在nacos的控制台中配置相应的数据即可

配置中心的namespace、group以及Date

我们可以通过配置不同的dateID、group、namespace来进行不同配置文件之间的切换,比如说我们想全部切换成groupA下边的test、dev、prod,就可以改变group,同样的道理,我们可以切换namespace来达到相同的目的。
namespace、group都可以在nacos中进行配置

spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        group: groupA
        namespace: xxxx(序列号)
  aplication:
    name: content-center
  profiles:
    active: dev

配置属性的动态刷新与回滚

  • 刷新:在要想刷新的类上添加@ReferenceScope
  • 回滚:在控制台中回滚即可

配置共享

在这里插入图片描述

在这里插入图片描述

读取优先级 shared-dataids < ext-config < 自动

引导上下文

bootstarp就是一个连接外部服务器,获取配置文件的引导上下文。

在这里插入图片描述
默认远程配置优先级高于本地配置,上图是配置在外部配置文件中修改优先级的。

Nacos数据持久化(重点)

nacos会在本地保存配置信息,但是这个数据库是内嵌式的,不能用于生产环境,所以要将配置文件持久化到外部数据库中,搭建生产可用的Nacos集群
具体步骤为,搭建Nginx代理服务器,搭建Nacos集群,搭建MySQL集群。将MySQL集群配置在Nacos文件中,将Nacos集群端口配置在Nginx文件中,要进行配置文件管理的服务直接将配置中心地址改为Nginx地址,就可以实现整个集群搭建。

实践总结

  1. 能放在本地,不放在外部
  2. 尽量规避优先级
  3. 最好每一个配置属性加上注释
  4. 配置管理人员尽量少

版权声明:本文为MrSuper_cat原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。