计算架构模式之接口高可用

接口高可用整体框架

接口高可用主要应对两类问题:雪崩效应和链式效应。

雪崩:当请求量超过系统处理能力之后,会导致系统性能螺旋快速下降,本来系统可以处理1000条,但是当请求量超过1200的时候,此时性能会下降,然后处理速度越来越慢,系统表现越来越差,问题越来越严重。

链式:一个故障会引起后续一连串的故障。防止链式效应就是出了故障之后不要让故障扩散,不要因为A系统出了故障,B系统也由于A系统出现故障导致出现故障,最后所有的系统全部都出现故障。

接口高可用架构本质上是“丢车保帅”策略,业务或者用户体验会部分有损!也就是说任何情况下都无法保证任何用户不受影响。

限流

请求端限流:比如摇一摇本身就是概率事件,可以直接在请求端进行限流。或者说秒杀也可以。

限流具体实现方式

限流算法

固定 & 滑动 时间窗

限流算法-漏桶

漏桶算法变种-写缓冲(Buffer)

因为读可以从发,写不可以。写还得从新输入,体验不好。

限流算法-令牌桶

突发流量的时候由于令牌桶的速度无法及时调整,那么就会导致请求丢失

Java 限流的漏桶算法简单示例

太短的话,队列就直接给拦掉了

这类框架可以通过钩子开发(拦截处理器)来实现自定义的限流

排队

排队的架构示意图

轮询排队结果,轮询到了就可以进行实际的业务请求了。

排队的具体实现方案示例

1号店双十一秒杀排队

降级

降级架构实现

降级模块下发指令,告诉模块,哪个接口进行降级

熔断

比如A服务一分钟内出现10次故障,那么就不在调用了

熔断架构实现

本节思维导图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

每天五分钟玩转人工智能

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

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

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

打赏作者

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

抵扣说明:

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

余额充值