领你速通Nacos配置的发布和获取流程

前言

文章使用nacos的sdk为大家解释下Nacos配置中心发布配置和获取配置的流程,大家肯定都遇到过 发布新配置,获取到的却是old配置的时候,这里给大家梳理下这个流程,帮助大家能快速定位到问题。

发布和获取概览

配置文件发布以后,会先存储到数据库,然后会通知其他服务节点更新本地配置文件。获取会从服务器的本地文件配置。
在这里插入图片描述

配置数据改变通知

在这里插入图片描述
1、DumpService 的handleConfigDataChange方法会把任务添加到 TaskManager的任务中。
在这里插入图片描述

2、NacosDelayTaskExecuteEngine类内存中存储 AbstractDelayTask,有addTask方法会存储全局变量tasks中。同时启动的时候会每隔 100ms去消耗 tasks的任务。
在这里插入图片描述
3、这个任务最终会ConfigCacheService进行dump.
a.先判断当前的更新时间(来源于通知的服务器时间)是否大于上次更新时间,如果时间不大于上次的时间,会直接返回,不会保存到磁盘了。
在这里插入图片描述
b. 判断md5是否改变了,md5改变了会把content更新到该节点本地磁盘文件。md5是对content取得md5值。
在这里插入图片描述
c. 更新内存的md5值和最后一次更新的时间。
在这里插入图片描述
d. 最后会通知客户端配置改变了。
在这里插入图片描述

配置获取

获取就很简单了。直接从本地文件获取,ConfigQueryRequestHandler这个类是sdk获取配置的逻辑。
在这里插入图片描述
在这里插入图片描述

总结

配置发布:写入数据库,并发布配置改变事件。通知server所有节点把配置写入 服务器磁盘文件。
配置获取:直接读服务器磁盘文件。
所以,性能测试读配置很快,发布配置就很慢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

关门code

乞讨

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值