Spring Cloud Circuit Breaker断路器

一、用处

想象一下,你正在玩一款在线游戏,突然间,游戏服务器开始不稳定,频繁出现延迟或者直接连接失败。这时候,如果你的游戏客户端还一直尝试连接服务器,不仅会浪费资源(比如电量、网络流量),而且可能会导致客户端程序卡死,甚至崩溃。

 在软件系统中,服务之间经常互相调用,就像游戏客户端调用服务器一样。当被调用的服务出现问题时(比如响应慢、挂掉),调用者会等待响应,如果大量请求堆积,整个系统可能会陷入瘫痪,就像电网中的过载会导致跳闸一样。  

CircuitBreaker 断路器的作用就是防止这种“服务雪崩”。它的工作原理类似于家里的电路保险丝或断路器:  

1. 闭合状态closed:正常情况下,断路器处于闭合状态,允许服务间的调用像往常一样进行。  

2. 打开状态open:当检测到服务调用失败达到一定阈值(比如连续失败次数过多),断路器会切换到打开状态,阻止进一步的调用尝试。这样可以避免调用者在等待无响应服务时浪费资源,同时也防止了故障扩散。

 3. 半开状态half-open:一段时间后,断路器会进入半开状态,允许少量请求通过,检查服务是否已经恢复。如果服务恢复正常,断路器会回到闭合状态;如果服务仍然有问题,断路器会再次打开。  

二、使用

在微服务架构中,CircuitBreaker(服务熔断)、服务降级、Bulkhead(隔离)和RateLimiter(限流)都是用于增强系统稳定性和响应能力的关键技术。下面我将逐一介绍它们的使用步骤:

CircuitBreaker(服务熔断)  
  • 使用步骤:

1. 引入依赖:

<!--resilience4j-circuitbreaker 熔断策略-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
        </depende
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-今非昔比°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值