乐趣区

关于测试:混沌工程Chaos

混沌工程

  • 定义:混沌工程是传统测试的补充。测试类型包含:有功能性测试,有性能测试,还有很大一部分是各种混沌测试,模仿各种事实中可能呈现的状况。故障演练、容灾演练在混沌工程领域。
  • 业务背景:分布式系统天生有着各种相互依赖,能够 出错的中央不可胜数
  • 需要:

    • 为了更不便地验证零碎对于各种 故障的容忍能力 ,打造更具 弹性 (弹性:零碎 应答故障 、从 故障中复原 的能力)零碎
    • 在一直的同时,建立运行高可用分布式系统的 信念
    • 对本身稳定性有个 更全面的理解
    • 混沌工程让你有机会 把问题提前/ 通过一直失败防止失败。
  • 操作:

    • 用于向基础设施以及业务零碎中注入各类故障类型
  • 实际混沌工程示例:

    • 能够 简略 如在生产环境中运行 kill -9 来模仿一个服务节点的忽然宕机
    • 也能够 简单 到在线上筛选一小部分(但足够代表性)的流量,按肯定规定或频率主动运行一系列 试验
    • 精准 的管制(爆炸半径、影响范畴)、反对更多场景的 模型
  • 通常遵循四个操作 步骤
    1. 首先定义指标(自动化指标 剖析)(采纳业务指标比技术指标更易用)
    2. 创立假如。
    3. 模仿事实世界中可能产生的事件(故障注入)。
    4. 证实或反驳你的假如。
  • 业内实际

    • 混沌工程(Chaos Engineering) 总结

      • https://zhuanlan.zhihu.com/p/…
      • https://github.com/dastergon/…
    • 先驱,Netflix 的 Chaos Monkey

      • https://pingcap.com/blog-cn/c…
      • 最早系统化地提出了混沌工程的 概念 ,并出版了混沌工程畛域内的首部 书籍 。在本书中提出了混沌工程成熟度模型与利用度 模型 ,并总结了五条高级 准则,对于混沌工程的倒退具备指导性意义。
      • 准则之一易用性

        • 易于编排 试验的谬误注入行为,易于查看 ** 试验的状态和后果
      • 准则之一扩展性

        • 基于现有实现,易于扩大新的 故障注入品种
    • 阿里 ChaosBlade
    • PingCap:Chaos Mesh
    • Gremlin:chaos gameday 红蓝反抗概念
退出移动版