重试机制及等待时间

基本所有的系统现在不是使用网络通信就是会使用文件操作,很多的借口调用都是不可靠的,也即有可能调用返回出错,最先能想到的解决方案就是增加重试。从实现的难易程度排列

1. 出错立即重试

2. 出错重试,并增加重试次数

3. 出错重试前增加两个参数,重试次数和重试间隔时间

4. 对时间参数优化,在一个范围取随机值

5. 对时间参数优化,以衰减形式提供等待时间,像对数衰减1.2.4.8.16.32...

如果将第五种方案中的重试次数去掉,在出问题时就会感觉很酸爽了。最近就遇到一个问题,一个接口调用长时间出错,并且使用了第五种方案,但是将重试次数去掉了换成了死循环,在解决了调用出错的问题之后功能依然不可用。在定位原因是已经发现最后两次的重试间隔已经是9个小时了,也就是说下次重试要在18个小时之后了。。。。所以现在增加第六种方案:

6. 以无限循环方式重试,等待时间以衰减方式提供,但是达到一个值(例如10分钟,半个小时等)之后不再衰减

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容