当前位置:首页 > 上门服务 >

接口调用失败处理方式(请求接口失败怎么解决)

来源:原点资讯(www.yd166.com)时间:2024-01-18 00:34:22作者:YD166手机阅读>>

退避策略简介#

在开发过程中我们经常会遇到调用接口失败的情况。遇到这种情况,我们有时候需要重试机制,常用的重试(退避)策略有:

  • 固定的时间间隔重试一次,最多重试N次:比如我现在一个接口调用失败了,不是立马返回失败,而是hold住线程,每隔2秒重新调下接口,最多调5次,只要其中一次成功了就直接返回。如果5次都没成功,接口返回失败。
  • 指数时间间隔尝试策略:和上面策略一样,接口调用失败后也不是直接返回,但是重试的时间间隔呈指数增加。比如第一次时间间隔是2s,第二次次4s,依次增加。当然你也可以设置最大的尝试次数和最大的尝试时间。
Spring中的退避策略工具类#FixedBackOff#

FixedBackOff是Spring自带的支持固定时间退避策略的工具类。这个类使用起来非常简单:

long interval = 1000; //重试间隔 1s重试一次 long maxAttempts = 10; //最大重试次数 最多重试10次 BackOff backOff = new FixedBackOff(interval, maxAttempts); BackOffExecution execution = backOff.start(); while(true){ long value = execution.nextBackOff(); if(value == BackOffExecution.STOP){ break; }else{ //在这里写你的重试逻辑 } } ExponentialBackOff#

ExponentialBackOff是支持尝试间隔呈指数增加的工具类,使用方式和上面类似:

long initialInterval = 100; //初始间隔 double multiplier = 2.0; //递增倍数 long maxInterval = 5 * 1000L; //最大间隔 long maxElapsedTime = 50 * 1000L; //累计最大的时间间隔 ExponentialBackOff backOff = new ExponentialBackOff(initialInterval, multiplier); backOff.setMaxInterval(maxInterval); backOff.setMaxElapsedTime(maxElapsedTime); BackOffExecution execution = backOff.start(); while(true){ long value = execution.nextBackOff(); if(value == BackOffExecution.STOP){ break; }else{ //在这里写你的重试逻辑 } } 自定义退避策略#

如果你想要实现自己的退避策略,也非常简单。参考上面两个类中对于BackOffExecution接口的实现。

参考#
  • https://www.iteye.com/blog/chenjumin-2437636
,

栏目热文

接口调用异常是什么怎么解决(调用接口异常如何解决)

接口调用异常是什么怎么解决(调用接口异常如何解决)

当在Java项目中进行与其他系统或服务之间的接口调用时,可能会遇到异常或故障。这些问题可能是由于网络连接问题、系统错误、...

2024-01-18 00:11:04查看全文 >>

调用接口时不显示接口的错误(调用接口返回失败怎么解决)

调用接口时不显示接口的错误(调用接口返回失败怎么解决)

在我们日常工作程序开发过程中,难免会涉及与第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(即防窃取...

2024-01-18 00:10:17查看全文 >>

创维电视待机键在哪个位置(创维电视待机了按什么键开启)

创维电视待机键在哪个位置(创维电视待机了按什么键开启)

手机市场"全面屏"的概念已经出现有一两年的时间了,各手机厂商都在说自己的产品是"全面屏"设计,那到底什么是"全面屏"呢?...

2024-01-18 00:50:28查看全文 >>

球球的qq登录在哪里(球球是微信还是qq)

球球的qq登录在哪里(球球是微信还是qq)

抓捕犯罪嫌疑人□楚天都市报记者 关前裕 通讯员 曾长羽“进这个彩票群,每天都能赚钱。”看到这样的宣传,你会心动吗?襄阳的...

2024-01-18 00:24:13查看全文 >>

如何登录球球英雄(球球英雄账号密码怎么看)

如何登录球球英雄(球球英雄账号密码怎么看)

球球英雄最新版本是一款竞技pvp塔防类手机游戏,在此次版本中,给玩家们带来了各种福利,新手登录即送大量金币和钻石,且每升...

2024-01-18 00:20:33查看全文 >>

调用接口异常怎么解决(调用医院接口异常)

调用接口异常怎么解决(调用医院接口异常)

目录前言一、接口异常的分类  1. 业务异常(Business exception)  2. 系统异常(System E...

2024-01-18 00:34:03查看全文 >>

调用接口失败怎么回事(当前接口调用已达上限怎么办)

调用接口失败怎么回事(当前接口调用已达上限怎么办)

当Java项目调用外部服务接口失败时,可能会导致功能异常和不稳定性。这种情况下,有一些常见的问题和解决方法可以帮助您解决...

2024-01-18 00:08:52查看全文 >>

接口调用错误怎么解决(调用接口返回失败怎么解决)

接口调用错误怎么解决(调用接口返回失败怎么解决)

使用代理IP时经常会遇到各种问题,其中403错误并不少见。在上一篇《使用代理IP遇到403错误的可能原因有哪些》文中介绍...

2024-01-18 00:49:53查看全文 >>

接口平台调用异常什么原因(调用核心接口异常怎么处理)

接口平台调用异常什么原因(调用核心接口异常怎么处理)

金融界2023年12月13日消息,据国家知识产权局公告,中国银行股份有限公司申请一项名为“接口调用异常检测方法、装置、计...

2024-01-18 00:19:07查看全文 >>

金蝶辅助核算设置技巧(金蝶软件辅助核算怎么使用)

金蝶辅助核算设置技巧(金蝶软件辅助核算怎么使用)

金蝶财务软件系统,在实际运用当中有非常大作用.在使用金蝶财务软件系统的话,我们还需要对其功能和设置操作有一个简单的了解才...

2024-01-18 00:04:29查看全文 >>

文档排行