微服务的雪崩效应以及常见的方案

**

1、什么是雪崩效应?

**
在微服务的架构中,高并发的场景下,系统如过存在 A、B、C三个服务,并且 存在A服务调用B服务,B服务C服务。若C服务突然宕机或者其他因素,无法对B提供服务,这时候,B对C服务大量的调用。由于C无法提供服务,B又不断连接C,B与C的连接总是等待资源自动关闭连接,导致资源无法及时释放,最终B由于资源耗费也挂了,同理,B也导致A也挂了。(雪崩时,没有一个是无辜的,哈哈!)

**

2、常见的容错方案

**
2.1 超时

设置请求的超时时间,只要资源释放的够快,系统就不会大量的线程阻塞,从而减少雪崩的几率。(治标不治本)

2.2 限流
我们可以预估一下该服务最大能承受的qps值,在调用时限制访问量,也能减少雪崩几率。(治标不治本)

3.3 舱壁模式
舱壁模式可以理解为资源分区,比如B调用C服务的C1服务与C2服务,此时为C1服务和C2服务两个服务建立不同的线程池,两个线程池互不影响,即使C1服务连接爆炸,也不会影响到C2服务提供服务。也能减少雪崩几率。(治标不治本)

**

3.4 断路器(重点)

**
断路器跟字面意思一样,即超过了安全值,自动断开。即 监听某个服务,如果某个服务访问出现的错误的次数达到阈值,断路器就会自动打开,保护服务。

断路器的三态转换

服务正常,断路器处于关闭状态。服务错误次数达到阈值,断路器转变成打开状态,服务此时不允许访问。过一段时间,断路器转换成半开状态,服务此时只允许一次访问。若访问成功,断路器转成关闭状态。否则重新回到打开状态。

ps:准备学习 sentinel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值