灰度发布系统工作流程设计
2024-05-28 20:44:53 0 举报
灰度发布系统的作用,可以根据配置,将用户的流量导到新上线的系统上,来快速验证新的功能,而一旦出现问题,也可以马上的修复,简单的说,就是一套A/B Test系统。这里是一套灰度发布系统的工作流程设计。
作者其他创作
大纲/内容
业务逻辑层
tag:AC
新版数据访问层
数据访问层
新版DB/Cache
注意:离线全量复制数据的过程中一定会有数据丢失,这个时候就需要业务逻辑层写一份数据到MQ中,等数据同步完成之后,新版的数据访问层再将MQ的数据写入到新版本的DB中,实现数据的一致性,这个也是引入MQ的主要目的。灰度过程中需要对两个数据库的数据进行对比,观察数据是否一致。
网关层
涉及数据的灰度服务
DB/Cache
灰度策略
MQ:消息队列
调用链上同时灰度多个服务
APP
1. 通过Lua扩展实现灰度策略的配置和转发。
逻辑:经过新版本网关层的请求,全部打上tag:AC,在业务逻辑层根据tag:AC进行转发, 标记tag:AC的请求全部转发到新版数据访问层服务上,没有tag:AC的请求全部转发到老版数据访问层上。
历史数据全量同步
服务配置管理平台
nginx
新版网关层
灰度策略单策略:比如按照用户的uid、token、ip进行取模组合策略:多个服务同时灰度,比如我有A/B/C三个服务,需要同时对A和C进行灰度,但是B不需要灰度,这个时候就需要一个tag字段,
0 条评论
下一页