线上引流方案
2019-03-18 12:36:26 0 举报
针对大流量系统的接口回归方案。
作者其他创作
大纲/内容
设计原则:1、不使用线上数据库和队列,使用预生产环境2、完全模拟线上情况3、选择性验证对应业务4、特殊逻辑在预生产环境代码中skip
符合监控条件
N
备份+脱敏完成
Y
开始备份数据库到影子库
清理影子库数据
确定监控条件
服务开始记录request和response,同时记录所有请求的请求包
线上请求线上服务
结束
筛选待测试接口
检查影子库状态
不记录
校验比对请求结果
后续展望1、提供请求记录解决方案2、保存的数据库镜像和请求包重复利用3、自动比对response4、分析代码覆盖度以确定引流效果完全替代接口测试
影子数据库
评估数据量是否充足
存入请求数据表
风险及注意点:1、用户登陆校验及鉴权==》登陆session记录在redis中,也需要备份并修改过期时间。2、数据库以外的组件==》用测试环境和回调队列(或者给个假的队列),服务内的回调地址修改成备份数据库。如果出现遗漏的组件,应该会报错。3、待测试服务请求顺序无法保持一致,线上线下request和response的对应方式4、只备份主库和一个分库,涉及到分库导致的异常。==》进入exception,不校验对应异常5、
回放请求包至影子数据库
准备回放
监控开关开启
项目需求:1、补充测试过程中,难以覆盖到的业务场景和特殊数据走到的业务分支2、快速验证接口逻辑正确性3、不能影响线上用户和数据4、后续快速拓展和复用
监控结束
开始
请求数据表
收藏
收藏
0 条评论
回复 删除
下一页