Nacos 配置加刷新流程图
2020-08-10 11:41:41 45 举报
登录查看完整内容
nacos 加载配置自动刷新流程
作者其他创作
大纲/内容
NacosValueAnnotationBeanPostProcessor
ScheduledExecutorService
返回nacos配置信息
NacosServiceFactory
保存到 environment
load
加载nacos远程服务端配置
refresh() 刷新容器上下文
一次check结束后立马提交新的check任务
本地硬盘临时目录
environment 存储spring配置信息
替换 environment 配置
得到配置信息
LongPollingRunnable
HttpAgent
ClientWorker
......
缓存本地快照LocalConfigInfoProcessor.saveSnapshot
PropertiesPlaceholderResolver
自定义AbstractListener
优先从缓存获取,缓存没有再从ClientWorker中获取
DelegatingEventPublishingListener
NacosPropertySource
NacosConfigLoader
NacosConfigService
默认阻塞30秒,返回响应结果,期间如果有配置被修改,则直接返回结果
MapPropertySource
NacosValueAnnotationBeanPostProcessor 1、实现了BeanPostProcessor 接口,解析@NacosValue 注解。2、实现了ApplicationListener接口,用来监听NacosConfigReceivedEvent 事件,更新对应自动刷新的属性值。
add
Listener 列表
@EnableNacosConfig
如果拉取到配置
依次调用listener的receiveConfigInfo
每10 毫秒检查是否新的Task
create
NacosPropertySourcePostProcessor Bean工厂后置处理器来解析处理 @NacosPropertySource 注解
回调
缓存
for调用所有监听listener
NacosConfigReceivedEvent
NacosUtils
publish
nacos client
根据autoRefreshed = true属性添加刷新监听
如果检查到更新的data id,则发一个请求去拉取配置
ConfigFilterChainManager内容过滤器链
PropertiesPropertySource
nacos server
Spring容器
RandomValuePropertySource
0 条评论
回复 删除
下一页