深入浅出分布式技术原理
陈现麟
伴鱼技术中台负责人,前小米工程师
21241 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 39 讲
深入浅出分布式技术原理
15
15
1.0x
00:00/00:00
登录|注册

11|雪崩(三):降级,无奈的丢车保帅之举

三级降级:P3服务降级
二级降级:P2、P3服务降级
一级降级:P1、P2、P3服务降级
推荐分享给同事和朋友
留言区交流看法
对熔断、限流和降级的个人理解
配置下发和三板斧之间的关系理解
手动降级与自动降级的操作和原理
熔断和限流之外的稳定性保障
降级:牺牲非核心服务保障其他服务
限流:保障被限流服务稳定性
熔断:系统稳定性的最后防线
服务暴露HTTP接口手动启动降级
系统故障时的配置下发
例子:鉴权接口自动降级
关键链路上的“B计划”
指标异常或接口错误时启动
分级降级策略
集中式降级平台管理
预设降级开关
非业务层错误时执行“B计划”降级
牺牲非核心服务保障核心服务稳定性
互动建议
分享理解
关键问题探讨
实现原理
降级机制的必要性
熔断、限流和降级的关系
配置信息下发问题
自动降级
手动降级
提高用户体验和可用性
全局资源调配
思考题
总结
降级机制的关键问题
如何实现降级
为什么需要降级
分布式系统稳定性保障:降级机制

该思维导图由 AI 生成,仅供参考

你好,我是陈现麟。
通过学习限流的内容,我们掌握了限流机制的应用场景、实现原理和关键问题,这样我们就可以为极客时间后端的分布式系统,在关键路径和核心服务上,去引入限流机制,进一步提高系统的稳定性。
但是,在系统因为过载而出现故障的时候,虽然熔断机制可以确保系统不会雪崩,限流可以确保,被保护的服务不会因为过载而出现故障,可是这时候,系统的可用性或多或少都会受到一定的影响,并且这个影响不会区分核心业务和非核心业务。
那么你的脑海里一定会出现一个想法,是否可以在故障出现的时候,通过减少或停掉非核心业务,来降低系统的负载,让核心业务不会受到,或者少受到影响呢?其实是可以的,这就是一个典型的降级场景问题。
在这节课中,我们将一起讨论保障分布式系统稳定性的第三个方法——降级,分析如何通过降级机制,来保障系统的核心服务稳定运行。这节课我依然会按照需要降级的原因,如何实现降级,以及降级机制应该注意的关键问题这一条思路来为你讲解。

为什么需要降级

为什么有了熔断和限流之后,我们依然需要降级机制呢?在分布式系统中,熔断、限流和降级是保障系统稳定性的三板斧,缺一不可,并且在保障系统的稳定性方面,降级有着熔断和限流所没有的优点,因此它们之间相互配合和补充,能够最大限度地保障系统的稳定性水平。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了分布式系统中熔断、限流和降级这三大保障系统稳定性的重要手段,着重探讨了降级机制的重要性和实现方法。降级机制能通过牺牲非核心服务来保障核心服务的稳定性,提高系统的用户体验和可用性。文章详细介绍了手动降级和自动降级的实现方法,以及处理降级配置信息和降级与熔断、限流之间的关系。强调了降级机制在实际使用中需要思考的关键问题。此外,还讨论了配置信息下发的问题和熔断、限流和降级之间的关系。通过本文,读者可以全面了解降级机制知识,对于分布式系统稳定性的保障具有重要参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出分布式技术原理》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • peter
    请教老师几个问题啊: Q1:什么样的公司会有成百上千的服务? “但是一般来说,一个分布式系统中,会有成百上千的服务和成千上万的实例”。根据这句话,两个不同的服务不会运行在一台机器上,即一个服务占用一台机器,那就需要一千台PC;如果每个PC再加一个备份,就需要两千台PC。两千台服务器,一般的小公司玩不起吧,它对应什么规模的公司? 比如用户一千万、日活一百万的公司?比如极客时间,多少服务?多少台服务器? Q2:降级后还会被调用吗? 一个服务或者接口被降级后,比如被关闭了,那么,其他服务还会来调用它吗?如果调用,岂不是更加糟糕?如果不调用,那这个“不调用”的信息是怎么传递到调用方呢? Q3:“容灾”和“限流、熔断、降级”之间的关系? “容灾”和“限流、熔断、降级”没有关系吧。“限流、熔断、降级”是用来保障系统稳定性的,但“容灾”主要是处理火灾、地震一类的意外情况,主要是增加备份,我的理解对吗?

    作者回复: Q1:一般不会一台物理机器部署一个实例的,以前是混部,一台机器部署多个实例,现在是通过k8s来解决这个问题 Q2:降级也是一种快速失败的机制,被降级后,如果作用点在客服端,那么在客服端就是返回识别,不会调用被降级的服务,如果是在服务端,那么会访问到服务,只是会立即返回失败,不会处理请求。不处理请求,就可以节省大量的资源 Q3:容灾主要是通过高可用来解决,不过容灾和熔断、限流、降级之间是有关系的,比如两个机房,一个机房由于地震不可用了,所有的流量都到正常的机房,这个时候,如果正常的机房出现过载了,熔断、限流、降级就可以发挥作用了

    2022-02-21
    10
  • Ronnie
    降级一般是在网关层做吗

    作者回复: 是的,网关是比较常见的地方,不过其他地方也可以做

    2022-03-01
    2
    2
  • Jxin
    我一直认为,降级和限流熔断是不同视角的手段。熔断保护客户端,限流保护服务端。而降级保护的是系统的收益,实现手段可以包含限流熔断以及分布式多级缓存等等。

    作者回复: 熔断、限流都有通过快速失败来降低系统负载,都可以同时保护服务器和客户端,广义的降级是可以包括熔断和限流

    2022-02-26
    3
  • 不吃辣👾
    关键路径的B计划启动,这不是预案管理的思路吗?
    2023-05-25归属地:浙江
  • 小虾米
    降级应该是作用在这样一个场景,比如有服务a和服务b都依赖一个公共资源,可能是db可能是cache可能是mq,在资源有限的情况下,为了保证系统总体的服务质量,必须减少a或者b的资源使用,这个时候就可以让期中一个不重要的服务降级,让出资源
    2022-12-16归属地:广东
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部