Hystrix的概念、作用、使用方法

Hystrix是什么

hystrix是一个库,通过延迟容忍和容错逻辑,控制分布式服务之间的交互。它通过隔离服务间的访问点、防止级联失败和提供回退选项,保证系统的整体弹性。

Hystrix作用

hystrix被设计的目标是:

        1.对通过第三方客户端库访问的依赖项(通常是通过网络)的延迟和故障进行保护和控制。

        2.在复杂的分布式系统汇中阻止级联故障。

        3.快速失败,快速恢复。

        4.回退,尽可能优雅的降级。

        5.启用近实时监控、警报和操作控制。

Hystrix使用场景

        1.调用超时时间比你自己定义的阈值要长。

        2.线程池满了,该以来应该立即拒绝请求,而不是排队

        3.在一段时间内,如果服务的错误百分比超过了一个阈值,就会触发一个断路器来停止对特定服务的所有请求,无论是手动还是自动的

Hystrix如何解决依赖隔离

        1.Hystrix使用命令模式HystrixCommand(Command)包装依赖调用逻辑,每个命令在单独线程中/信号授权下执行。

        2.可配置依赖调用超时时间,超时时间一般设为比99.5%平均时间略高即可.当调用超时时,直接返回或执行fallback逻辑。

        3.为每个依赖提供一个小的线程池(或信号),如果线程池已满调用将被立即拒绝,默认不采用排队.加速失败判定时间。

        4.依赖调用结果分:成功,失败(抛出异常),超时,线程拒绝,短路。 请求失败(异常,拒绝,超时,短路)时执行fallback(降级)逻辑。

        5.提供熔断器组件,可以自动运行或手动调用,停止当前依赖一段时间(10秒),熔断器默认错误率阈值为50%,超过将自动运行。

        6.提供近实时依赖的统计和监控

Hystrix怎么用

        1.使用maven引入Hystrix依赖。

        2.启动类上添加注解:@EnableCircuitBreaker

        3.回调关键词:@HystrixCommand(fallbackMethod="方法名"),注解在方法上

         如果通过注解@HystrixCommand的方式来实现的话,服务降级就要在注解中添加fallbackMethod参数来指定具体的服务降级实现方法

        

        4.@DefaultProperties(defaultFallback = “) 全局异常处理的设置,注解在类上

        方法上设置@HystrixCommand ,如图

在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值