Spring的重试机制

一、背景:

在项目开发中,RPC(Remote Procedure Call)即远程服务调用,必不可缺。既然存在远程服务的调用,那么必然存在服务方不可用的问题。比如,网络的抖动、服务上线。

二、方案:

在调用方采用retry重试机制,并且全局采用一个探针机制。即,如果重试次数达到了一定的阀值,将会开启探针。并且接下来的请求将不会调用RPC,对调用方的请求产生熔断,不至于因为服务方的服务不可用,造成雪崩状态。整个过程中,探针去检查服务方的活性,一旦检测到服务方可用,将关闭探针。

三、实现

3.1、开启SpringBoot重试机制,在入口函数中加入注解

@EnableRetry
3.2、方法重试注解

伪代码截图如:
在这里插入图片描述
在这里插入图片描述

四、注意事项

回滚函数recover的入参和重试方法触发重试机制的异常一致。

猜你喜欢

转载自blog.csdn.net/ruben95001/article/details/84765216