-
Notifications
You must be signed in to change notification settings - Fork 492
配置中心原理
Haotian Zhang edited this page Jul 7, 2023
·
1 revision
客户端端视角
- 应用启动时,同步从服务端拉取一次配置,获取最新的配置内容
- 把第一步拉取到的所有的配置文件生成
List<File->Version>
的数据 ,并向服务端发送订阅配置请求,请求内容为List<File->Version>
- 当收到配置文件的推送消息时,向服务端拉取最新的配置文件
订阅配置服务端视角
- 先检查客户端
List<File->Version>
的请求里是否存在 File 版本号落后,如果存在,则立马响应File -> NewVersion
内容给客户端 - 如果客户端配置文件版本号都是最新的,则在内存里维护
File -> List<Client>
的数据结构并 Hold 请求 30s。如果 30s 内有配置文件发布,则立马响应请求,返回File -> NewVersion
给所有客户端
发布推送配置简化流程
- 用户在界面点击发布按钮,服务端更新数据库里配置发布表的数据。配置发布表的核心字段:
file, version, content, mtime
- 每个北极星服务端实例,都会定时1s扫描配置发布表,根据 mtime 捞出最近 1s 内变更过的数据
- 北极星服务端实例扫描到最新变更的数据之后
- 重新加载内存缓存
- 向内存里的消息发布管道里写入一条消息
- 推送协程从消息发布管道里获取到消息,并消费消息。通过
File -> List<Client>
信息,获取所有订阅配置文件的客户端信息,并响应客户端 Hold 的请求。
- 您在使用过程中遇到任何问题,请提 Issue 或者加入我们的开发者群告诉我们,我们会在第一时间反馈
- Spring Cloud Tencent 社区期待您的加入,一个 Star、PR 都是对我们最大的支持
- 项目介绍
- 使用指南
- 最佳实践
- 开发文档
- 学习资料