前言
当我们尝试在 Nacos Web 管理端修改配置后,配置信息是如何同步到 Nacos 服务端各个节点,以及通知到 Nacos 客户端的呢?

通常我们会通过集群的方式部署 Nacos,集群中的 Nacos 节点类型包含 Leader、Follower。Web 管理端只会对接 Leader 节点,其它 Follower 节点则通过配置同步的方式修改本地配置信息。
当修改配置、点击「发布」按钮后,Web 端会调用 Nacos 服务端 Leader 节点的 /nacos/v1/cs/configs 接口,对应的处理方法为 ConfigController#publishConfig(),它会调用 ConfigOperationService#publishConfig(),其包含 2 个核心方法,本文将对此进行分析。

插入或更新配置
configInfoPersistService 有 2 个实现类,这儿分析 ExternalStoragePersistServiceImpl(外置存储持久处理层)。它会先去查询数据库中有没有已配置的数据,无则插入、有则更新

Nacos 直接将 SQL 语句与代码耦合,写在了一起 😭,这在实际项目开发中是不推荐这么做的

最低0.47元/天 解锁文章
1463

被折叠的 条评论
为什么被折叠?



