18 | 混沌工程:软件领域的反脆弱
该思维导图由 AI 生成,仅供参考
什么是混沌工程?
- 深入了解
- 翻译
- 解释
- 总结
混沌工程是软件领域的新兴学科,旨在通过实验增强分布式系统在生产环境中抵御突发事件的能力。传统的全面测试难以保障质量,因为真实世界的问题往往不按套路出牌。混沌工程提倡在故障发生之前通过实验验证系统的表现,识别风险并有针对性地进行系统改造和安全加固,从而提升整个系统的可用性信心。这种积极的方式有助于应对不可预测的不确定性,使系统更加反脆弱,能够从中获益并不断提升在不确定性事件发生时的收益。混沌工程的理念和实践为软件工程领域带来了新的思路和方法,有助于有效地应对复杂且规模庞大的分布式系统中的不可预见的故障,提升对系统的信心。文章还介绍了服务可用性实践,包括故障演练、全链路压测、服务降级预案等,以及Netflix公司的“混乱猴子”实验,强调混沌工程不是为了制造问题,而是为了揭示问题。在引入混沌工程的实践之前,需要确保现有的服务已经具备了弹性模式,并且能够在应急响应预案和自动化工具的支撑下尽早解决可能出现的问题。混沌工程为读者提供了一种新的思路和方法,帮助他们更好地应对复杂系统中的不可预见故障,提升对系统的信心。
《DevOps 实战笔记》,新⼈⾸单¥59
全部留言(5)
- 最新
- 精选
- leslie混沌工程这个概念应当提出了5年左右了:当年跳槽国内某一线券商技术部那年听说过这个概念。提出一个大胆的假设啊:有时其实混沌工程就是就是所谓的鲶鱼效应去发现问题完善现有的系统。 其实很多时候越熟悉的人反而会越看不清问题的本质:这是为何我们写产品使用说明书回去会去找个没用过相关东西的大妈之类的告诉我们问题的所在。只有通过鲶鱼或者说完全不了解的人去揭露问题才能看到问题的真正问题。 ”不识庐山真面目,只缘身在此山中“:谢谢老师今天的分享,期待后续和老师的学习交流。
作者回复: 有个说法叫做知识的诅咒,说的是随着掌握的信息越多知识越丰富,反而失去了像普通人一样交流的能力,就是因为太熟悉了,所以看不出有什么问题,这也是为啥有时候会找外部咨询或者参加行业大会的原因吧。
2019-11-2110 - Robert小七想知道老师所在公司如何实施的,实践过程中有哪些重点应该是我们关注的?
作者回复: 你好,我现在的公司除了故障演练和常态化压测之外,目前在做的就是Chaos Monkey,在混沌工程领域也同样处于摸索阶段,一个小的建议就是,当机器压力过大的时候,监控上报的服务也处于阻塞状态,这就会导致没法正常获取监控数据,所以监控服务的资源保障,在演练的时候要关注一下。
2019-11-211 - Geek_LJM目前我们公司也在进行故障演练,作为测试团队一员,很想知道,构造故障有哪些工具或平台 ?譬如针对磁盘故障的模拟,或应用的故障模拟之类的,在网上也比较难找到这类的工具或平台。
作者回复: 你好,的确目前成熟开源的混沌平台并不多,像Netflix开源过一些,网上也有一个针对Spring框架的Chaosmonkey工具,企业中更多还是自己设计实现为主,比如你提到的磁盘故障,linux的命令就可以做到,只不过需要有一个调度和监控平台来配合使用,这方面都是云平台来提供的服务。
2020-02-102 - 怀揣梦想的学渣第一次接触混沌工程是看Netflix分享的资料。我认为它和保障活动不一样,本质上有区别。保障活动就像妈妈保护着孩子学走路,稍微有不正常就会及时保护你。混动工程就是老爸带小孩,不仅没有保护,还会检验你走的是否稳。 有些公司对保障活动的成果检验是比较敷衍的,我见过一家做医疗产品的公司,备份数据每周一次,连续五年了,从未做过恢复检验,凌晨发现中勒索病毒,连续回退五个版本都是带勒索病毒文件的,因为病毒早就被植入,备份数据是带病毒的,多次测试找到干净备份,发现备份还只能部分数据可用,因为备份软件在备份部分类型文件有bug。2023-06-01归属地:山东
- 古十四从已知的未知。发展为未知的未知。2022-10-27归属地:江苏