Hystrix

本文介绍了雪崩效应及其在分布式系统中的影响,如硬件故障、流量激增等。接着,详细阐述了熔断机制,特别是Hystrix在防止同步等待雪崩问题中的作用。当服务故障时,Hystrix通过开启熔断器快速失败并自我修复,以保持系统稳定。此外,Hystrix还提供了监控服务状态的能力。
摘要由CSDN通过智能技术生成

简单了解Hystrix

昨天中午吃饭,无意听到有小伙伴问到熔断机制是什么东西,今天抽空简单做个笔记
说到熔断机制,首先要先了解雪崩效应,那么什么是雪崩效应呢?
雪崩效应:
分布式系统中的服务通信依赖于网络,网络不好,必然会对分布式系统带来很大的影响。在分布式系统中,服务之间相互依赖,如果一个服务之间出现了故障或者网络延迟,在高并发的情况下,会导致线程阻塞,在很短的时间内该服务的线程资源会消耗殆尽,最终使得该服务不可用。由于服务的相互依赖,可能会导致整个系统的不可用,这就是“雪崩效应”。

雪崩效应常见场景:
硬件故障:如服务器宕机,机房断电,光纤被挖断等。
流量激增:如异常流量,重试加大流量等。
缓存穿透:一般发生在应用重启,所有缓存失效时,以及短时间内大量缓存失效时。大量的缓存不命中,使请求直击后端服务,造成服务提供者超负荷运行,引起服务不可用。
程序BUG:如程序逻辑导致内存泄漏,JVM长时间FullGC等。
同步等待:服务间采用同步调用模式,同步等待造成的资源耗尽。

当然,为了防止此类事件的发生,分布式系统必然要采取相应的措施,如熔断机制(咱们熟悉的Springcloud采用的就是Hystrix)应当使用Hystrix解决同步等待的雪崩问题。
熔断机制:
1、当一个服务出现故障时,请求失败次数超过设定的阀值(默认50)之后,该服务就会开启熔断器,之后该服务就不进行任何业务逻辑操作,执行快速失败,直接返回请求失败的信息。其他依赖于该服务的服务就不会因为得不到响应而造成线程阻塞,这是除了该服务和依赖于该服务的部分功能不可用外,其他功能正常。
2、熔断器还有一个自我修复机制,当一个服务熔断后,经过一段时间(5s)半打开熔断器。半打开的熔断器会检查一部分请求(只能有一个请求)是否正常,其他请求执行快速失败,检查的请求如果响应成功,则可判断该服务正常了,就可关闭该服务的熔断器,反之则继续打开熔断器。这种自我熔断机制和自我修复机制可以使程序更加健壮、也可以为开发和运维减少很多不必要的工作。
3、熔断组件往往会提供一系列的监控,如:服务可用与否、熔断器是否被打开、目前的吞吐量、网络延迟状态的监控等,从而可以让开发人员和运维人员的了解服务的状况。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值