@
Dorathea 本意是吐槽,我完整的表述一下。不便说太细,有问题可以留言
场景:很多,比如启动预加载信息,进某个页面批量获取信息。批量调用是合理的也是正确的。
问题: 后续加入的新 api 有依赖关系,app 框架依然使用批量调用,这扫问题点
优化方案: 很多,举几个
1. 最简单的就是 app 不在批量线程里执行,等待 A 的数据拿到之后再请求 B 接口
2. 后端代理执行,前端请求 A 和 B ,B 不使用 A 的参数,后端代理客户端再请 A 一次,
3. 后端察觉的请求数据 不对,返回客户端参数异常,等客户端拿到 A 的接口再次重试(很糟糕的方案)
最后措施:方案 3 ,客户端依然批量执行,如果没取到,后端 api 报错,前端重试,直到成功
last
方案 1:其实说到最后,就是原有的批量执行方案不可修改。至于为啥不可修改我也不得而知。
方案 2:为啥后端不代理执行,因为两个机器中间隔了一个太平洋,又完全不是一个系统,考虑到用户各种隐私都需要上报太过笨重。话说归来,问题也不是从后端引发的。
方案 3:为啥选择重试呢? 我也想问,可能这样开发量最小吧。3 楼我提出的问题就是这样产生的。
我做了那些事: 无非就是增加网管鲁棒性,限流,等等后端常用的技术方案
ps: 上面打错了 流量是 1000Mb 打错单位了。