QConfig配置中心Server端架构设计,有哪些关键点需要注意?

摘要:声明 原创文章,转载请标注。https:www.cnblogs.comboyceleep18055933 配置中心系列文章 《【架构师视角系列】风控场景下的配置中心设计思考》 https:www.cnblogs.comboy
声明 原创文章,转载请标注。https://www.cnblogs.com/boycelee/p/18055933 配置中心系列文章 《【架构师视角系列】风控场景下的配置中心设计思考》 https://www.cnblogs.com/boycelee/p/18355942 《【架构师视角系列】Apollo配置中心之架构设计(一)》https://www.cnblogs.com/boycelee/p/17967590 《【架构师视角系列】Apollo配置中心之Client端(二)》https://www.cnblogs.com/boycelee/p/17978027 《【架构师视角系列】Apollo配置中心之Server端(ConfigSevice)(三)》https://www.cnblogs.com/boycelee/p/18005318 《【架构师视角系列】QConfig配置中心系列之架构设计(一)》https://www.cnblogs.com/boycelee/p/18013653 《【架构师视角系列】QConfig配置中心系列之Client端(二)》https://www.cnblogs.com/boycelee/p/18033286 《【架构师视角系列】QConfig配置中心系列之Server端(三)》https://www.cnblogs.com/boycelee/p/18055933 一、通知与配置拉取 二、设计思考 1、Admin如何通知Server所有实例配置发生变更? 2、Server如何通知Client端配置发生变更? 3、Client如何拉取配置? 三、源码分析 1、Admin配置推送 1.1、主动推送 1.1.1、逻辑描述 QConfig的Server配置发现有两种方式,一种是主动推送,另一种是被动扫描。 主动发现是Admin(管理平台)通过注册中心获取到已经注册的Server实例相关IP与Port信息,然后通过遍历的方式调用Server接口通知实例此时有配置更新。 被动发现是Server实例中自主定时进行数据库扫描,当发现新版本时通知Client端有配置变更。 1.1.2、时序图 1.1.3、代码位置 1.1.3.1、NotifyServiceImpl#notifyPush 当用户在操作平台进行配置修改时,会调用该接口进行配置变更推送,由于需要通知所有已经部署的Servers有配置更新,所以需要从注册中心中获取到对应的Host信息,然后通过遍历的方式进行配置推送。
阅读全文