限流,熔断,降级分析

发布时间:2023年12月29日

写在前面

本文一起看下限流,熔断,降级的概念。

1:限流

限制单位时间内的请求数,超过的则拒绝或其他。常用的算法有滑动时间窗口,漏桶算法,令牌桶算法。

2:熔断

在分布式的场景中,一个请求可能涉及到多个微服务间的调用,当某个下游微服务出现问题时,可能会导致其调用服务不可用,这个影响不断被方法,最终可能导致整个微服务集群不可用,如下图:
在这里插入图片描述
服务D不可用,可能会很快耗尽服务B的线程资源导致服务B也不可用,接着服务A也不可用,为了处理这种情况,我们就需要在服务D不可用时,服务B停止向服务D发起请求,而是直接返回错误或是其他(其实就是执行降级逻辑),整个停止访问不可用服务的动作就叫做熔断,当然,在服务恢复后还要能够重新访问,这也是熔断需要考虑的问题。

3:降级

降级,即降低服务等级,并不是不服务了,而是服务的等级降低了,比如你点外卖,如果点外卖的人少,外卖小哥二十分钟就给你送过来了,如果点外卖的人很多,外卖小哥四十分钟才给你送过来,结果也给你送过来了,只不过慢了点(降级了),那么降低服务质量的手段都有哪些呢,包括但不限于如下:

1:服务异常或超时,返回错误给客户端
2:耗时的同步操作,转换为异步
3:监控到流量激增,系统压力增大,及时关闭某些非核心功能,即丢车报帅。
4:正常给客户端返回结果,但质量降低,如返回的图片从高清图片,返回非高清图片
...等等其他

写在前面

参考文章列表

服务降级与服务熔断区别
10张图带你彻底搞懂限流、熔断、服务降级

文章来源:https://blog.csdn.net/wang0907/article/details/135296452
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。