一、业务场景分析
1.生活中的例子:取款
取500元和取500万区别
2.平台中的场景
-
执行3个用例,平均每个用例5个接口,每个接口平均耗时0.3秒,3*5*0.3=4.5秒
-
执行300个用例,平均每个用例20个接口,每个接口平均耗时0.3秒,300*20*0.3=1800秒,还要考虑HTTP超时
-
每天凌晨自动跑回归测试
定时;大批量、重负荷;很难人工触发 -
多项目并发执行,超过单机承受能力
二、实现思路分析
1.不能让人干等(参考银行大额提款的解决方案)
1、向用户手机执行重型/耗时任务所需的“参数”
2、后台根据参数执行重型/耗时任务
- 即时触发
- 定时触发
3、执行完毕之后通知用户,事后查看报告
- 任务本身状态
- 任务所印象的数据/结果
2.要支持定时任务
- 定时任务
- 周期任务
- 其他策略
3.要支持监控
- 任务执行过程监控
- 任务执行结果监控
4.要支持多项目大规模并发执行
1、排队执行
- 利用消息队列
2、分布式执行
- 任务的执行单元分到多个服务器,支持扩展