加载配置
- 配置信息包括:业务对象和业务规则等数据。
- 配置信息的生命周期:
未提交的草稿状态(待发布)、提交审核状态(灰度发布)、审核通过(正式发布)、审核拒绝(版本回退)
。
如何发布配置数据
- 管理平台可以通过消息队列(
RabbitMQ
、Kafka
或者Pulsar
等)、缓存(Redis
、Memcached
等)或文件服务器(FTP/rsync
、AS3/MinIO
等)发布配置信息。 灰度发布
,指定部分容器或服务器分批升级;正式发布
,所有运行环境同步升级,记入历史版本;版本回退
,所有运行环境回退到上一个正式版本。
如何区分配置数据
- 所有的配置数据都有自身的归属域,每个引擎组件只跑自身归属域的配置数据。
- 当配置数据通过消息队列传递,可以用归属域的名字区分主题;放在缓存时,可以通过将归属域的名字或ID作为key的前缀区分缓存项;以文件服务器传递配置数据是,可以用龟属名的名字区分目录。
如何更新配置数据
- 消息队列的方式,收到新的配置通知时,即可实时更新配置数据。
- 缓存的方式,可以直接读取缓存的实时配置数据。
- 文件服务器的方式,可以定时扫描配置文件或者重启引擎组件重新加载更新的配置数据。