4.Spring Cloud 熔断 Hystrix使用入门

本文介绍了微服务雪崩效应及其对服务的影响,然后详细阐述了Hystrix熔断器的工作原理,包括关闭、打开和半开三个状态。通过示例展示了如何在Spring Cloud中使用Hystrix进行服务调用的熔断处理,包括RestTemplate和OpenFeign的整合,并讲解了Hystrix的超时设置。同时,推荐了相关的Hystrix原理与实战资料。
摘要由CSDN通过智能技术生成
微服务雪崩效应

服务与服务之间相互通信(调用),随着业务扩展,客户端访问的服务(A)可能会调用多个服务(A调用B,B调用C…),如果其中被调用的某个服务©由于挂掉或超时等各种原因,不能再提供服务,那么B服务将处于阻塞状态,随着请求的增多(A的调用,B的重试),容器的线程资源会消耗完毕,B服务也挂掉了,接下来服务A也会重复B的操作,A资源耗尽也被挂掉,最终整个服务都无法再访问。

概括的来说,服务提供者的不可用导致服务消费者不可用,并将不可用逐渐放大的过程。从百度又偷了张图。

在这里插入图片描述

Hystrix

Hystrix也是Netflix开源的组件。

通过hystrix可以解决雪崩效应问题,它提供了资源隔离、降级机制、融断、缓存等功能。

快捷入口:Hystirx GitHub

关于Hystrix的资源隔离,命令模式等等,在文章末尾分享参考文章。

Hystrix 熔断器工作原理

Hystrix熔断器开关有三种状态:

  • 关闭状态(Closed)

    关闭状态中是允许服务互调用。如果服务的健康状况(请求失败次数 / 请求总次数) 超过了设定的阈值。那么熔断器的开关状态从 Closed -> Open状态。

  • 打开状态(Open)

    打开状态服务是不允许被调用。当熔断器开关处于OPEN状态,经过一段时间,熔断器状态会尝试进入Half-Open状态,并允许发送一个请求。

  • 半开状态(Half-Open)

    该状态下,允许发送的一个请求,如果调用成功,开关状态变为Closed。如果失败,则继续变回Open。

画个草图
在这里插入图片描述

使用Hystrix熔断器

前面两篇博客分别展示了如何使用RestTemplate,OpenFeign进行服务间调用,这里直接在上面进行添加。

  • 服务调用RestTemplate整合Hystrix

    1. pom.xml添加Hystrix的maven依赖

      <dependency>
      	<groupId>org.springframework.cloud</groupId>
      	<artifactId
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值