高并发 降级 熔断

184 阅读1分钟

关键字

高并发 缓存 限流 降级 熔断 容错

背景

高并发的几个解决方案,就是以上的关键字。那么具体有什么区别呢?特别是降级和熔断?

这篇文章主要是讲降级和熔断的区别。

缓存

缓存不用说了

限流

1s内多少个请求。

降级

达到阈值,就使用备用业务逻辑。

降级-异步

写数据库的操作,降级为异步。即1.先写到消息队列2.然后再异步写到数据库。


在高负载时期,我们可以降低对一致性的要求。将耗时的「数据落盘」操作降级为「异步」进行。//降级就是1.正常业务逻辑(调用远程服务)2.备用业务逻辑3.熔断(不调用远程服务) 4.容错(异常处理,和异常恢复)

www.infoq.cn/article/uEI…

熔断

达到阈值,就不调用了。即不调用远程服务。

容错

1.处理异常 //即降级 熔断 处理各种异常

2.从异常中恢复

如何从异常情况恢复?

按反方向条件校验

降级和熔断的区别?

看这个比喻 例子 blog.didispace.com/fallback-an…

代码

步骤
1.正常
2.降级
3.熔断

实际上,代码就是以上三种情况


伪代码

if(正常){
   正常;
}else if(降级){
   降级; //备用业务逻辑
}else if(熔断){
   熔断; //直接return fail。就每次不再调用远程服务。
}