App高频请求导致服务雪崩

起因

午休后准备改个App的UI方面的bug,发现app接口好像有问题,看起来是服务器都挂了,测试环境有时候就是这么随意,这样想着,就切到了线上环境,发现服务器也是挂了的状态,行吧,休息会,喝点水

一二十分钟后线下接口正常了,没太在意

四点多的时候,听安卓的开发说有个问题,让帮忙确认一下,把网先断掉,然后再进去详情页,看看某个接口的调用情况,发现在这种情况下接口一直在高频调用,听说是因为这个原因导致服务器都挂掉了(这次是webview里的接口高频调用,非原生)

想起来在以前项目组也遇到2次这样的问题,一次是凌晨被电话叫起来排查问题,晚上没排查出问题,因为那一块的代码都上线半年了也没啥问题,最近也没改动,第二天才排查出问题,是活动相关的代码,有个定时器轮询接口的场景,时间间隔原定不能为null,结果转了几手后当天晚上十二点上的活动还是有个配置为null了,还好有以前的接口wiki,不然真是跳进黄河也洗不清了

第二次是被别人坑了,或者算是沟通问题,有个场景说接口请求失败的情况怎么办,结论是重新请求直到成功,当时理解是失败后就再去请求,出了问题后再沟通,意思是让请求失败后提示用户重新刷新,点击刷新后再请求接口;因为是物流app,很多用户是在路上一直使用,网络不好的情况不在少数,结果就会出现网络不好接口请求失败后就疯狂请求的场景,当然可能也只是疯狂请求,没有实质的影响,但错误的日志最后都会上传到服务器,就是出现很离谱的错误率指标

一句话真因

客户端如何处理接口高频调用的问题

服务端如何处理客户端接口高频调用问题


Written on September 25, 2025