教程:一起学习Hystrix--Hystrix常用场景--降级(回退)

本文详细介绍了Hystrix的降级策略,包括静态降级(返回默认值)、自定义降级、通过网络缓存降级和主备降级。通过实例代码展示了如何在不同场景下实现服务的降级处理,确保系统的稳定性和容错性。
摘要由CSDN通过智能技术生成

目录

  • Hystrix本系列博文
  • 静态降级(返回默认值)
  • 自定义降级
  • 网络缓存降级
  • 主备降级
  • 声明

Hystrix本系列博文

    以下为博主写Hystrix系列的文章列表,顺便骗个赞,觉得写的还可以的,不要吝啬你的赞哟

     点击查看 Hystrix入门

    点击查看 Hystrix命令执行

    点击查看 Hystrix处理异常机制(降级方法)

    点击查看 Hystrix命令名称、分组、线程池

    点击查看 Hystrix命令名称、Hystrix请求处理

    点击查看 Hystrix请求处理

    点击查看 Hystrix常用场景--失败

静态降级(返回默认值)

    可以在代码中静态的返回默认值进行降级, 这不会导致功能或服务以“静默失败”的方式被删除,而是导致默认行为发生。

    例如,如果一个命令基于用户凭据返回true/false,如果命令执行失败,它可以默认为true:

    @Override
    protected Boolean getFallback() {
        return true;
    }

HystrixObservableCommand 等价

     对于 HystrixObservableCommand 的静默失败解决方案是调用重写 resumeWithFallback 方法,示例如下:

    @Override
    protected Observable<Boolean> resumeWithFallback() {
        return Observable.just( true );
    }

自定义降级

     当命令返回的是一个包含多个字段的复合对象时,通常会使用自定义降级,其中一些字段可以由其他请求状态确定,而其他字段设置为默认值。

     适合使用自定义降级的例子有:

  • cookies
  • 请求参数和请求头
  • 之前的服务请求在当前失败之前的响应

    降级时会静态的从请求范围检索出存根, 但是如果需要的话,比如下面这个例子演示了它如何处理countryCodeFromGeoLookup字段,通常建议在命令实例化时注入它们。

public class HystrixStubbedFallback extends HystrixCommand<HystrixStubbedFallback.UserAccount> {

    private final int customerId;
    private final String countryCodeFromGeoLookup;

    /**
     * @param customerId 用于检索UserAccount
     * @param countryCodeFromGeoLookup
     *           
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值