许式伟的架构课
许式伟
七牛云 CEO
84945 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 89 讲
许式伟的架构课
15
15
1.0x
00:00/00:00
登录|注册

51 | 故障域与故障预案

扩容
过载保护机制
流量切换
故障恢复
SRE的手段与自动故障恢复
24小时不间断服务的追求
白盒代码审查和测试覆盖率提升
灰度发布
变更是故障的问题源头
终端用户的请求
软硬件环境的故障
软硬件升级与各类配置变更
故障排查与根因分析
故障产生的原因与对策
服务发布与监控
故障域与故障预案

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

你好,我是七牛云许式伟。
我们前面介绍了服务的发布和监控,来保障线上业务的持续服务。但是,不管我们怎么小心谨慎,故障仍然会不可避免地发生。并不是所有的故障都会影响到用户,一些局部的故障如果处理得当,对用户并不产生可见的影响。
今天我们就聊聊故障产生的原因与对策。可以导致故障的因素非常多。在 “47 | 服务治理的宏观视角” 一讲中,我们大体将故障类型分为以下几种。
软硬件升级与各类配置变更,即发布。
软硬件环境的故障。
终端用户的请求。比较典型的场景是秒杀类,短时间内大量的用户涌入,导致系统的承载能力超过规划,产生服务的过载。当然还有一些场景,比如有针对性的恶意攻击、特定类型的用户请求导致的服务端资源大量消耗等,都可能引发服务故障。
我们先来看看 “软硬件升级与各类配置变更”,也就是发布。发布过程引发的故障实际上有别于另外两种故障类型,它源于我们主动对系统作出变更,属于过程型的故障。
变更是故障的第一大问题源头。所以我们在发布的过程中多谨慎都不为过。不过我们今天的主题并不是以此类故障为主,我们已经在 “加餐 | 怎么保障发布的效率与质量?” 一讲中专门探讨了发布的过程管理应该怎么做。
大部分情况下,变更导致的故障在短期内就会得以暴露,这也是我们采用灰度发布这样的手段能够达到规避故障风险的原因。但当我们讨论故障域的时候,我们还是应该意识到,灰度并不能发现所有变更风险。有时代码变更引发的故障需要达到特定的条件下才得以触发,例如数据库规模达到某个临界点可能导致数据库操作异常。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了故障域与故障预案的相关内容,覆盖了软硬件环境故障、负载均衡、业务服务、缓存、数据库和存储等多个方面。针对软硬件环境故障,文章提出了通过监控系统发现故障并进行报警,以及实现故障恢复的两种常见预案。在负载均衡方面,介绍了使用虚 IP 技术和热备份路由协议来避免故障影响业务入口。对于业务服务,强调了“无状态”设计的重要性。此外,还讨论了缓存、数据库和存储的高可靠性和高可用性保障措施。文章通过技术分析和实际操作方法,为读者提供了故障预案的实用指南,对保障服务稳定性具有重要参考价值。文章还提到了故障恢复的方法,包括流量切换和过载保护机制,以及故障产生的原因与对策。总体而言,本文为读者提供了全面的故障预案指南,涵盖了多个方面的故障处理方法,对于保障服务的稳定性具有重要的实用价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《许式伟的架构课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(9)

  • 最新
  • 精选
  • leslie
    运维多年总觉得有所疏漏:跟着老师一路学习到现在,算是把自己的运维中的疏漏梳理出来了;老师的很多东西从从架构层去看,更能发现一些问题的本质-而不是为了解决而解决问题。 前段时间和一个本地的CTO聊架构:其实大家有一点共鸣,真正好的架构已经不是一个人而是一个团队才能设计出来了。软件业发展到今天越来越大越来越复杂:整体架构的合理性没法一个人能做出来,故障恢复预案都是整体在讨论。

    作者回复: 是这样

    2019-10-25
    2
    12
  • zhj
    负载均衡说的vip那里,这里是把负载均衡实例当做vs-dr中的业务实例来看待吗,负载均衡实例故障了,由vip调度器来把新的流量切到其他负载均衡实例上,所以其实这里可以看做是经过了两次流量调度(调度器到负载均衡实例,负载均衡实例到业务服务器),那vip调度器本身的高可用是通过keepalived来解决吗,这样理解正确吗

    作者回复: 是这样,当然不一定用keepalived

    2020-03-22
    2
  • 张裕
    老师能否聊一下错误注入的测试或者混沌工程这些话题?谢谢

    作者回复: 软件工程相关在最后一章

    2019-10-25
    1
  • 沉睡的木木夕
    “为了确保网络请求的通畅,服务端网络链路会准备多个,这时我们通常用多个服务的域名,每个域名代表一个网络链路,由客户端进行链路的选择与重试” 这里提到的多个服务的域名,是指同一个应用分布在不同的宿主环境中码?相当于负载?

    作者回复: 不是,这只是网络路由的选择。这句话表达得有点含糊,我改改。

    2020-03-14
  • Tesla
    偶然间看到老师的极客时间账号 您的学习热度令我赞叹不已😂
    2019-12-22
    1
    5
  • ifelse
    学习打卡
    2023-09-23归属地:浙江
  • 拂尘
    老师,提到交换机热备切换的时候,提及了hsrp。但是根据我的理解和网络百度,这个协议感觉是工作在路由器层面,即在多个路由器前置vip节点,通过路由实现路由器的热备切换。是不是我理解错了?请老师指正!另外我猜测,交换机是不是通过stp或ospf这种协议来实现备份和切换的?
    2021-06-26
  • Aaron Cheung
    七牛的监控系统采用什么方式的报警呢 报警是否能及时到达
    2019-10-25
  • Vackine
    作为一个刚入职的小朋友,虽然很多问题还没遇到过,但是每次听完许大的课,总感觉受益无穷👍👍,值得多次回味
    2019-10-25
收起评论
显示
设置
留言
9
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部