springcloud 之 hystrix

Hystrix是什么

Hystrix是一个容错组件,是Netflix开源的一个类库,实现了超时和断路器模式。

 

Hystrix为了什么

Hystrix被设计的目标是:

  1. 对通过第三方客户端库访问的依赖项(通常是通过网络)的延迟和故障进行保护和控制。
  2. 在复杂的分布式系统中阻止级联故障。
  3. 快速失败,快速恢复。
  4. 回退,尽可能优雅地降级。
  5. 启用近实时监控、警报和操作控制

 

Hystrix解决了什么问题

复杂分布式体系结构中的应用程序有许多依赖项,每个依赖项在某些时候都不可避免地会失败。如果主机应用程序没有与这些外部故障隔离,那么它有可能被他们拖垮。

例如,对于一个依赖于30个服务的应用程序,每个服务都有99.99%的正常运行时间,你可以期望如下:

99.9930  =  99.7% 可用

也就是说一亿个请求的0.03% = 3000000 会失败

如果一切正常,那么每个月有2个小时服务是不可用的

现实通常是更糟糕 

 

hystrix 在 springcloud 是默认包含的吗

hystrix 在 springcloud 升级到2020.0.0版本之后,就被移除了

  • Support for ribbon, hystrix and zuul was removed across the release train projects.

 

hystrix 集成 - feign

Feign使用Hystrix开发步骤

1、导入依赖spring-cloud-starter-hystrix

2、消费启动类开启@EnableCircuitBreaker

3、配置 feign.hystrix.enabled=true

4、实现@FeignClient注解的接口或FallbackFactory接口

5、@FeignClient注解配置fallback参数

 

hystrix 集成 - restTemplate

1、导入依赖spring-cloud-starter-hystrix

2、消费启动类开启@EnableCircuitBreaker

3、在方法上使用注解 @HystrixCommand, 配置 fallbackMethod,指定降级方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值