Nacos2.x 配置中心的工作原理
2022-10-17 20:23:37 2 举报
Nacos2.x版本配置中心的工作原理图
作者其他创作
大纲/内容
CacheMap
ConfigChangeBatchListenHandler
Spring Boot启动时对Nacos配置创建监听
访问Nacos Server
ClientWorker.startInternal
2. 把分组后的数据批量发送到服务端进行比较
dataId+group+namespace
NacosConfigApplicationContextInitializer.initialize
3. 逐个调用获取配置项目并更新
把配置以及对应的监听信息保存到CacheMap
taskId
从服务器端读取数据enableRemoteSyncConfig
返回当前批次中存在变更的配置项
备注: 不同的颜色块表示不同的工作流程
检查本地配置变更状态
NacosConfigService.addListener
更新本地文件
Nacos Client
1. 本地匹配
CacheData(配置数据)
1. 按照taskId分组后保存到listenCachesMap
Listener
taskId(3000一个分片)
返回存在变更的配置项dataId+group+namespace
CacheData
比较服务端配置的md5值
CacheItem
更新本地缓存
默认:5s执行一次
ConfigQueryRequestHandler
namespace/group/dataID
初始化定时任务
拿到变更的key以后根据key获取数据
ClientWorker.addTenantListeners
查找CacheMap中存在监听事件的配置项
LocalFile
从数据库查询配置
2. 本地配置读取失败/发起gRPC调用
遍历变更配置
从缓存中比较
批量发送配置项到Nacos Server
NacosConfigService.getConfig(主动获取配置)
listenCachesMap
CACHE
客户端本地
0 条评论
下一页