11|雪崩(三):降级,无奈的丢车保帅之举
陈现麟
该思维导图由 AI 生成,仅供参考
你好,我是陈现麟。
通过学习限流的内容,我们掌握了限流机制的应用场景、实现原理和关键问题,这样我们就可以为极客时间后端的分布式系统,在关键路径和核心服务上,去引入限流机制,进一步提高系统的稳定性。
但是,在系统因为过载而出现故障的时候,虽然熔断机制可以确保系统不会雪崩,限流可以确保,被保护的服务不会因为过载而出现故障,可是这时候,系统的可用性或多或少都会受到一定的影响,并且这个影响不会区分核心业务和非核心业务。
那么你的脑海里一定会出现一个想法,是否可以在故障出现的时候,通过减少或停掉非核心业务,来降低系统的负载,让核心业务不会受到,或者少受到影响呢?其实是可以的,这就是一个典型的降级场景问题。
在这节课中,我们将一起讨论保障分布式系统稳定性的第三个方法——降级,分析如何通过降级机制,来保障系统的核心服务稳定运行。这节课我依然会按照需要降级的原因,如何实现降级,以及降级机制应该注意的关键问题这一条思路来为你讲解。
为什么需要降级
为什么有了熔断和限流之后,我们依然需要降级机制呢?在分布式系统中,熔断、限流和降级是保障系统稳定性的三板斧,缺一不可,并且在保障系统的稳定性方面,降级有着熔断和限流所没有的优点,因此它们之间相互配合和补充,能够最大限度地保障系统的稳定性水平。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了分布式系统中熔断、限流和降级这三大保障系统稳定性的重要手段,着重探讨了降级机制的重要性和实现方法。降级机制能通过牺牲非核心服务来保障核心服务的稳定性,提高系统的用户体验和可用性。文章详细介绍了手动降级和自动降级的实现方法,以及处理降级配置信息和降级与熔断、限流之间的关系。强调了降级机制在实际使用中需要思考的关键问题。此外,还讨论了配置信息下发的问题和熔断、限流和降级之间的关系。通过本文,读者可以全面了解降级机制知识,对于分布式系统稳定性的保障具有重要参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出分布式技术原理》,新⼈⾸单¥59
《深入浅出分布式技术原理》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- peter请教老师几个问题啊: Q1:什么样的公司会有成百上千的服务? “但是一般来说,一个分布式系统中,会有成百上千的服务和成千上万的实例”。根据这句话,两个不同的服务不会运行在一台机器上,即一个服务占用一台机器,那就需要一千台PC;如果每个PC再加一个备份,就需要两千台PC。两千台服务器,一般的小公司玩不起吧,它对应什么规模的公司? 比如用户一千万、日活一百万的公司?比如极客时间,多少服务?多少台服务器? Q2:降级后还会被调用吗? 一个服务或者接口被降级后,比如被关闭了,那么,其他服务还会来调用它吗?如果调用,岂不是更加糟糕?如果不调用,那这个“不调用”的信息是怎么传递到调用方呢? Q3:“容灾”和“限流、熔断、降级”之间的关系? “容灾”和“限流、熔断、降级”没有关系吧。“限流、熔断、降级”是用来保障系统稳定性的,但“容灾”主要是处理火灾、地震一类的意外情况,主要是增加备份,我的理解对吗?
作者回复: Q1:一般不会一台物理机器部署一个实例的,以前是混部,一台机器部署多个实例,现在是通过k8s来解决这个问题 Q2:降级也是一种快速失败的机制,被降级后,如果作用点在客服端,那么在客服端就是返回识别,不会调用被降级的服务,如果是在服务端,那么会访问到服务,只是会立即返回失败,不会处理请求。不处理请求,就可以节省大量的资源 Q3:容灾主要是通过高可用来解决,不过容灾和熔断、限流、降级之间是有关系的,比如两个机房,一个机房由于地震不可用了,所有的流量都到正常的机房,这个时候,如果正常的机房出现过载了,熔断、限流、降级就可以发挥作用了
2022-02-2110 - Ronnie降级一般是在网关层做吗
作者回复: 是的,网关是比较常见的地方,不过其他地方也可以做
2022-03-0122 - Jxin我一直认为,降级和限流熔断是不同视角的手段。熔断保护客户端,限流保护服务端。而降级保护的是系统的收益,实现手段可以包含限流熔断以及分布式多级缓存等等。
作者回复: 熔断、限流都有通过快速失败来降低系统负载,都可以同时保护服务器和客户端,广义的降级是可以包括熔断和限流
2022-02-263 - 不吃辣👾关键路径的B计划启动,这不是预案管理的思路吗?2023-05-25归属地:浙江
- 小虾米降级应该是作用在这样一个场景,比如有服务a和服务b都依赖一个公共资源,可能是db可能是cache可能是mq,在资源有限的情况下,为了保证系统总体的服务质量,必须减少a或者b的资源使用,这个时候就可以让期中一个不重要的服务降级,让出资源2022-12-16归属地:广东
收起评论