OpenFeign呼叫的后备,它多次重试其他呼叫直到成功

时间:2019-09-19 09:17:52

标签: java spring hystrix spring-cloud-feign feign

我正在寻找以最合适的方式用OpenFeign实现以下方案(我在Spring Boot 2中使用Feign / Hystrix):

我有一个Feign客户呼叫,可能需要很长时间。该调用将在远程服务器上启动一些事务。如果呼叫达到Feign超时,则Feign会将其丢弃,但是,事务将继续在远程服务上进行。

一旦通话超时,我需要发起另一个通话以取消交易。但是,在事务在远程服务器上完成之前(超时后的某个时间),此调用不会取消任何操作并返回4xx状态。但是,当交易最终完成时,取消调用将收到状态200。因此,取消调用最终应在指定的时间间隔(例如30 s)中每秒重复一次。

换句话说,我需要实现以下顺序:

  1. 拨打交易电话。
  2. 点击通话超时。
  3. 每秒重复发起取消呼叫,持续30秒。返回状态为4xx时继续。 30秒后停止或返回状态为200。

如何以这种方式设置Feign客户端及其后备,以实现此方案?

0 个答案:

没有答案