Spring Cloud Alibaba微服务组件-Nacos-配置中心

Nacos做注册中心是以serviceName做基本管理单元,而作为配置中心则是以dataId为基本管理单元,dataId也就是配置文件名

使用

配置中心架构图

多个配置的优先级

配置动态更新

客户端

ConfigService

输出:

通过调用Nacos服务端的“获取配置”接口,来获取当前配置

如果Nacos服务端当前是3台机器组成的集群,Nacos客户端会拿到serverList,然后通过轮询的方式,逐个调用来获取配置

Spring容器启动完成时,会发布一个ContextReadyEvent,然后Nacos写了一个自定义的ApplicationListener<ContextReadyEvent>来监听这个ContextReadyEvent事件,来进行一些扩展动作

自定义的ApplicationListener<ContextReadyEvent>内部会先获取到所有的dataId,然后就会调用configService.registerListener(dataId,,)来为每一个dataId配置文件注册一个监听器

后续如果Nacos服务端的哪个dataId配置文件中的配置发生了变化,就会回调这个dataId配置文件对应的监听器

这里就是dataId为nacos-config-prod.yaml的配置文件发生了修改,然后回调了对应的监听器

第133行就会发布一个刷新事件RefreshEvent,

发布的刷新事件RefreshEvent,就会被这个监听器监听到,这个监听器要做的就是把引用了这个发生变化的配置的bean,先修改bean的对应属性的配置值,然后用新bean替换掉ioc容器中的久的bean

服务端

ConfigController#getConfig()

服务端是从服务端本地的磁盘配置文件中读的配置,而不是从服务端自己的mysql中读的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值