SpringCloud系列--Hystrix(2)统一降级处理

SpringCloud Hystrix:全局降级处理实践
本文介绍了如何在SpringCloud中使用Hystrix进行全局降级处理,以减少代码重复和提高代码耦合度。首先,通过创建全局降级方法,解决了每个业务方法都需要单独写降级方法的问题。然后,通过创建一个类实现服务接口并配置降级策略,实现了在服务不可用时的优雅降级,避免了500错误,提升了用户体验。

1、背景

在上一篇SpringCloud系列–Hystrix(1)简介和概念中我们介绍了Hystrix服务降级的概念以及介绍了如何使用Hystrix,但是给出的示例还存在一些问题:

  1. 降级方法与业务方法写在了一块,耦合度高;
  2. 每个业务方法都写了一个降级方法,重复代码多。

接下来我们介绍如何解决上述两个问题。

2、全局的降级方法

解决重复代码的问题:

  • 配置一个全局的降级方法,所有方法都可以走这个降级方法,至于某些特殊创建,再单独创建方法。

集成Hystrix的操作在SpringCloud系列–Hystrix(1)简介和概念中已经叙述,这里就不赘述,仅介绍需要修改的部分。

2.1、创建一个全局方法

// 下面是全局fallback方法
public String payment_Global_FallbackMethod()
{
   
   
    return "Global异常处理信息,请稍后再试,/(ㄒoㄒ)/~~";
}

2.2、注解指定全局降级方法(默认降级方法)

在服务调用类上添加注解@DefaultProperties,参数defaultFallback指定为默认降级方法,当业务类没有指定降级方法,就使用这个方法作为降级方法(payment_Global_FallbackMethod为降级方法的方法名):

@DefaultProperties(defaultFallback = "payment_Global_FallbackMethod")

在方法需要返回错误信息的服务调用方法上直接加入注解即可:

@HystrixComman

示例如下:

@RestController
@Slf4j
@DefaultProperties(defaultFallback = "payment_Global_FallbackMethod")
public class 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值