SpringCloud中Hystrix是干嘛的?什么是雪崩?什么是熔断?

熔断器Hystrix:什么是雪崩?如何处理?

当微服务I发生异常,请求阻塞,用户就不会得到响应,则线程不会被释放,于是越来越多的用户请求到来,越来越多的线程就会阻塞,发生雪崩

如何处理?

Hystrix解决雪崩问题的手段主要是服务降级,包括:

  • 线程隔离
  • 服务熔断

Hysyrix为每个依赖服务调用分配一个小的线程池,如果线程池已满调用将被立即拒绝,默认不采用排队,加速失败判定时间

用户的请求将不再直接访问服务器,而是通过线程池中的空闲线程来访问服务,如果线程池已满,或者请求超时,则会进行降级处理,什么是服务降级?

服务降级:优先保证核心服务,而非核心服务不可用或弱可用

用户的请求故障时,不会被阻塞,更不会无休止的等待或者看到系统崩溃,至少可以看到一个执行结果(例如返回友好的提示信息)

服务降级虽然会导致请求失败,但是不会导致阻塞,而且最多会影响这个依赖服务对应的线程池中的资源,对其他服务没有响应。

触发Hystrix服务降级的情况:

  • 线程池 已满
  • 请求超时

Hystrix服务熔断机制?如何配置?

Hystrix 的服务熔断机制,可以实现弹性容错;当服务请求情况好转之后,可以自动重连。通过断路的方式,将后续请求直接拒绝,一段时间(默认5秒)之后允许部分请求通过,如果调用成功则回到断路器关闭状态,否则继续打开,拒绝请求的服务。

hystrix:
  command:
    default:
      circuitBreaker:
        errorThresholdPercentage: 50 #触发熔断错误比例阈值,默认值50%
        sleepWindowInMilliseconds: 10000 #熔断后休眠时长,默认值为5秒
        requestVolumeThreshold: 10 #熔断触发最小请求次数,默认值20
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 2000 #熔断超时设置,默认为1秒
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪随安

朝看天色暮看云行也思君坐也思君

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值