SpringCloud——CircuitBreaker断路器

Spring Cloud Circuit Breaker断路器详解

一、Hystrix目前也进入维护模式

(1)是什么

  1. 了解一下即可,2024年了不再使用Hystrix
  2. Hystrix 是一款开源的分布式系统容错框架,通过熔断机制(自动切断故障依赖)、资源隔离(限制线程 / 信号量)和降级回退(提供友好替代响应),防止单个服务故障引发级联崩溃,保障系统在高并发或依赖异常时仍能保持弹性

(2)Hystrix官宣,停更进维

(3)Hystrix未来替换方案

二、概述

(1)2023年影响极大的真实生产故障

(2)分布式系统面临的问题

复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败

(3)我们的诉求

  1. 问题:禁止服务雪崩故障
  2. 解决:有问题的节点,快速熔断(快速返回失败处理或者返回默认兜底数据【服务降级】)
  3. Hystrix断路器是一种分布式系统故障防护机制,通过实时监控服务异常(如超时、错误),在检测到故障时自动触发熔断,快速返回预设的降级响应(FallBack),避免客户端线程被长时间阻塞,并切断故障传播链,防止雪崩效应,保障系统整体可用性

(4)如何搞定上述问题,避免整个系统大面积故障

2.4.1给我搞定

(1)服务熔断
  1. 类比保险丝,保险丝闭合状态 (CLOSE) 可以正常使用,当达到最大服务访问后,直接拒绝访问跳闸限电 (OPEN),此刻调用方会接受服务降级的处理并返回友好兜底提示
  2. 就是家里保险丝,从闭合 CLOSE 供电状态→跳闸 OPEN 打开状态
(2)服务降级
  1. 服务器忙,请稍后再试
  2. 不让客户端等待并立刻返回一个友好提示,fallback
(3)服务限流

秒杀高并发等操作,严禁一窝蜂的过来拥挤,大家排队,一秒钟 N 个,有序进行

(4)服务限时
(5)服务预热
(6)接近实时的监控
(7)兜底的处理动作

2.4.2NOW

我们用什么替代?Spring Cloud Circuit Breaker

三、Circuit Breaker是什么

(1)官网

Spring Cloud Circuit Breaker

(2)实现原理

CircuitBreaker 用于保护分布式系统,提升可用性与健壮性。当组件或服务故障时,它切换至 OPEN 状态,阻断请求发送,减少故障方负载以防止崩溃,确保系统继续运行;还能通过在组件间自动切换,避免单点故障问题

(3)一句话

Circuit Breaker 只是一套规范和接口,落地实现者是 Resilience4J

四、Resilience4J

(1)是什么

GitHub - resilience4j/resilience4j: Resilience4j is a fault tolerance library designed for Java8 and functional programming

(2)能干嘛

GitHub - resilience4j/resilience4j: Resilience4j is a fault tolerance library designed for Java8 and functional programming

(3)怎么玩

  1. 官网CircuitBreaker
  2. 中文手册
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值