Apollo配置中心源码解析

1、Apollo配置中心总体设计

一、主流程-流程图

简要流程说明,后面源码分析

备注:一个 Namespace 对应一个 RemoteConfigRepository 。多个 RemoteConfigRepository ,注册到全局唯一的 RemoteConfigLongPollService 中

  1. Client初始化后没5分钟定时向Config-Service同步配置;
  2. 同时向RemoteConfigLongPollService 注册长轮循,向Config-Service发起长轮循(长轮循参考
  3. 用户更新发布配置后通知Admin-Service(入库)
  4. Admin-Service每秒500条获取更新配置,推送Config-Serivce(监听者们),监听者设置第2步的返回值结束长轮循,Client接收到通知实时查询Config-Serivce变更的配置,放入内存

二、源码解析

1、RemoteConfigRepository:远程Repository,实现从ConfigService拉取配置,并缓存,支持实时,定时

2、ConfigController:configs/{appId}/{clusterName}/{namespace}:提供配置读取功能

3、RemoteConfigLongPollService:远程配置长轮循服务,负责长轮循ConfigServer变更通知,当有更新时立即轮循触发更新

4、NotificationControllerV2:notifications/v2:实现长轮循,监听配置变更、返回,结束长轮循

5、DatabaseMessageSender:变更配置入库,清理

 

6、ReleaseMessageScanner:扫描变更配置,触发监听者们

 

公众号主要记录各种源码、面试题、微服务技术栈,帮忙关注一波,非常感谢

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要编译和搭建Apollo配置中心源码,您可以按照以下步骤进行: 1. 下载源码:访问Apollo的官方GitHub仓库(https://github.com/ctripcorp/apollo),找到并下载源码包。 2. 配置数据库:Apollo使用MySQL作为配置存储的数据库,您需要安装并配置MySQL数据库,并创建一个用于存储Apollo配置的数据库。 3. 导入数据库脚本:在Apollo源码的scripts目录中,有一个createTable.sql文件,您需要先创建该数据库中的表结构,可以使用命令行或可视化工具导入该脚本。 4. 修改数据库连接配置:在Apollo源码apollo-configservice子项目中,找到src/main/resources/application-github.properties文件,将文件中的数据库连接配置修改为您自己的配置。 5. 编译源码:进入到Apollo源码的根目录,执行mvn clean package命令进行编译,这将生成一个target目录,其中包含了编译后的可执行文件。 6. 部署和运行:将编译后的target目录中的可执行文件部署到您的服务器上,执行启动脚本即可启动Apollo配置中心。您可以根据需要,修改可执行文件中的配置参数来适应您的环境需求。 在搭建Apollo配置中心之前,您还需要确保服务器上已经安装了Java环境和Maven构建工具。此外,Apollo还涉及到其他组件和依赖,需要您按照文档中的说明进行安装和配置。 运行成功后,您可以通过访问配置中心的页面,进行应用创建、配置管理和发布等操作。同时,Apollo还提供了丰富的扩展接口和功能,可以满足不同场景的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值