支持重试功能
发布时间
阅读量:
阅读量
前言
在微服务架构环境下,由于系统内部网络波动可能引发调用超时或失败的问题。从分布式事务处理的角度分析,若业务逻辑中仅执行了一次远程服务的查询操作(例如获取用户服务中的特定信息),当该查询未能成功时,将导致整个事务回滚,这种结果显然是我们希望避免的。因此,可以通过基于Feign的远程调用机制,提升操作成功的概率,从而最大限度地减少回滚的发生。
接下来我们来看代码实现
首先采用AOP注解的方式,定义切面
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface FeignRetry {
Backoff backoff() default @Backoff(); //定义重试机制
int maxAttempt() default 3; //最大重试次数
Class<? extends Throwable>[] include() default {} ;
}
@T
全部评论 (0)
还没有任何评论哟~
