Hystrix简介及简单使用

Hystrix是一个用于处理服务故障的容错库,通过实现超时和断路器模式,确保系统的稳定性。服务降级是在高压力下对非关键服务进行策略性处理,以保障核心业务。熔断机制则是在下游服务故障时,防止自身服务被拖垮。Hystrix的使用包括添加依赖,启用配置,设置备份和回调,以及调整参数如线程隔离和超时限制。线程隔离有其优缺点,适用于不同场景。Hystrix的配置允许精细控制服务的容错行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hystrix简介

hystrix是一个容错组件,实现了超时机制和断路器模式。实现了熔断和降级

  1. 降级
    服务降级一般是指在服务器压力剧增的时候,根据实际业务使用情况以及流量,对一些服务和页面有策略的不处理或者用一种简单的方式进行处理,从而释放服务器资源的资源以保证核心业务的正常高效运行。

  2. 熔断
    应对雪崩效应的链路自我保护机制。可看作降级的特殊情况
    下游服务挂掉后,防止自身被拖垮

Hystrix使用

使用
  1. 添加依赖
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
  1. 启用hystrix
    修改application.yaml
feign:
  hystrix:
    enabled: true # 开启hystrix
  1. 增加备份
    增加备份实现
    在这里插入图片描述
  2. 增加回调配置
    在触发熔断的时候就会使用RentCarFeignHystrix
    在这里插入图片描述
  3. 调用显示
    在这里插入图片描述

常用配置

hystrix :    #hystrix 的全局控制
      command :
            default :
            #default 是全局控制,也可以换成单个方法控制,把 default 换成方法名即可
                   fallback :
                            isolation :
                                     semaphore :
                                            maxConcurrentRequests : 1000 # 信号量隔离级别最大并发数
                  circuitBreaker :
                           enabled : true   # 开启断路器
                           requestVolumeThreshold : 3  # 失败次数(阀值)
                           sleepWindowInMilliseconds : 20000  # 窗口时间
                           errorThresholdPercentage : 60    # 失败率
                 execution :
                           isolation :
                                      Strategy : thread # 隔离方式 thread 线程隔离集合和 SEMAPHORE 信号量隔离 级别
                                       thread :
                                              timeoutInMilliseconds : 3000 # 调用超时时长
  1. 线程隔离方式
#隔离方式 两种隔离方式 thread 线程池 按照 group(10 个线程)划分服务提供者,用户请求的线程 和做远程的线程不一样
# 好处 当 B 服务调用失败了 或者请求 B 服务的量太大了 不会对 C 服务造成影响 用户访问比较大的情 况下使用比较好 异步的方式
# 缺点 线程间切换开销大,对机器性能影响
# 应用场景 调用第三方服务 并发量大的情况下
# SEMAPHORE 信号量隔离 每次请进来 有一个原子计数器 做请求次数的++ 当请求完成以后 --
# 好处 对 cpu 开销小
# 缺点 并发请求不易太多 当请求过多 就会拒绝请求 做一个保护机制
# 场景 使用内部调用 ,并发小的情况下
# 源码入门 HystrixCommand AbstractCommand
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值