混沌工程与落地实践

💡 原文中文,约3700字,阅读约需9分钟。
📝

内容提要

本文介绍了混沌工程的产生和与微服务的关系,以及混沌工程的技术手段和时间-价值。混沌工程能揭露系统缺陷,提高系统稳定性。文章还提到了混沌工程实施步骤和应用韧性设计。后续计划包括建立应用质量标准、常态化探索性混沌工程实验和平台与业务共建韧性改造方案。

🎯

关键要点

  • 混沌学科源于20世纪60年代,洛伦兹发现初始值微小变化导致结果巨大差异,称为蝴蝶效应。
  • 混沌工程起源于2008年Netflix的实践,使用Chaos Monkey工具主动破坏云服务以发现系统弱点。
  • 微服务与混沌的相似之处在于复杂非线性连接和敏感依赖性,但微服务强调独立性,混沌系统强调互相依赖。
  • 混沌工程实验的必要性在于基础设施和软件架构的复杂性,故障不可避免,需主动制造故障以验证系统稳定性。
  • 混沌工程提供的技术手段包括故障注入功能,如CPU加压、网络丢包和网络断网。
  • 混沌工程能够揭露系统中的未知缺陷,提高系统稳定性,需明确已知和未知缺陷的分类。
  • 实施混沌工程的步骤包括定义稳态指标、执行实验、观察结果和总结恢复过程。
  • 信通院提出的CEMM标准要求混沌实验结果反馈应用健康状况,需融入应用生命周期。
  • 应用韧性设计要求冗余设计、过载保护、服务降级能力和去中心化设计,以应对不稳定和突发状况。
  • 后续计划包括建立应用质量标准、常态化混沌工程实验和与业务共建韧性改造方案。
➡️

继续阅读