spring cloud hystrix服务熔断的基本应用

it2023-05-27  74

一、spring cloud hystrix简介

    什么是熔断?例如我们家里常见的保险丝,电流异常的熔断;股市异常,交易的熔断。这些熔断其实都是为了避免更大的风险。它其实是一种保护策略。

    在我们微服务架构里面,一个请求可能依赖后端的多个服务。如果某个服务出现故障,那么这个请求线程就无法被释放,如果我们的请求增加很多的情况下,就会导致大量的请求堆积,是我们的服务资源消耗殆尽,最终导致“雪崩”。如果出现这个问题,我们就需要“熔断”了,所以“熔断”其实就是为了保护系统。

      “熔断”会触发降级。什么是降级呢?就是我们的A方案行不通,就改用B方案。例如在我们的分布式架构中,我们的A服务请求B服务,但是B服务出现了问题,就会导致这个请求失败,这个时候我们就可以选择返回一个默认数据给A服务,例如返回系统繁忙,或者把这个异常返回给A,这就是一个降级的机制,降低我们的服务等级。例如我们日常机房中的UPS备用电源。

     降级分为:主动降级、被动降级。

主动降级:例如双十一大促销,我们可以关闭电商的点赞、评论等非核心的功能模块,把服务器的所有资源提供给核心功能使用。被动降级:熔断降级、限流降级。限流降级是什么呢?例如12306的派对购票,通多限流,对用户提供服务的降级,但是可以保证在系统不挂掉的情况下给部分用户提供稳定的服务。

    “熔断”实际上是一种降级策略。

    Hystrix是netflix公司提供的一个组件,它的作用是:

对通过第三方客户端库访问的依赖项(通常是通过网络)的延迟和故障进行保护和控制 在复杂的分布式系统中阻止级联故
最新回复(0)