限流,熔断,降级分析
2023-12-29 18:34:53
写在前面
本文一起看下限流,熔断,降级的概念。
1:限流
限制单位时间内的请求数,超过的则拒绝或其他。常用的算法有滑动时间窗口,漏桶算法,令牌桶算法。
2:熔断
在分布式的场景中,一个请求可能涉及到多个微服务间的调用,当某个下游微服务出现问题时,可能会导致其调用服务不可用,这个影响不断被方法,最终可能导致整个微服务集群不可用,如下图:
服务D不可用,可能会很快耗尽服务B的线程资源导致服务B也不可用,接着服务A也不可用,为了处理这种情况,我们就需要在服务D不可用时,服务B停止向服务D发起请求,而是直接返回错误或是其他(其实就是执行降级逻辑)
,整个停止访问不可用服务
的动作就叫做熔断,当然,在服务恢复后还要能够重新访问,这也是熔断需要考虑的问题。
3:降级
降级,即降低服务等级,并不是不服务了,而是服务的等级降低了,比如你点外卖,如果点外卖的人少,外卖小哥二十分钟就给你送过来了,如果点外卖的人很多,外卖小哥四十分钟才给你送过来,结果也给你送过来了,只不过慢了点(降级了)
,那么降低服务质量的手段都有哪些呢,包括但不限于如下:
1:服务异常或超时,返回错误给客户端
2:耗时的同步操作,转换为异步
3:监控到流量激增,系统压力增大,及时关闭某些非核心功能,即丢车报帅。
4:正常给客户端返回结果,但质量降低,如返回的图片从高清图片,返回非高清图片
...等等其他
写在前面
参考文章列表
文章来源:https://blog.csdn.net/wang0907/article/details/135296452
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!