文档

产品架构

更新时间:

本文介绍故障演练的产品架构,以下简称故障演练为AHAS Chaos。

产品架构图架构图

AHAS Agent

AHAS Agent安装在指定的目标机器上,用来执行服务端下发的故障注入命令以及采集演练相关的必要信息,例如CPU、内存占用等。主要有以下特点:

  • 快捷高效:支持在控制台一键安装AHAS Agent,如果是公网则需要用户手动安装。

  • 安全可靠:

    • Agent本身对应用无入侵。除演练的故障场景需要作用于应用进程的情况外,例如Java类的故障场景。

    • 网络异常可自动重试。

    • 数据传输通道严格加密,保证数据安全。

  • 完善的自我保护:

    • 实时监控系统资源,不占用过多带宽。

    • 非用户手动卸载情况下的异常退出时,可以进行自我保护,保证AHAS Agent在主进程消失的情况下,可以自动重启。

ChaosBlade

ChaosBlade是AHAS Agent的核心组件,用来解析、校验和执行服务端下发的故障指令,并且已正式对外开源,具有以下特点:

  • 简单易用:

    • 清晰易懂的混沌工程实验模型,易于理解。

    • 自带完善的命令行工具,方便本地调试。

  • 功能稳定:

    • 在阿里内部被广泛使用,已通过真实环境的严格考验。

    • 活跃的开源社区确保了功能的不断迭代和缺陷的快速修复。

  • 场景丰富:

    • 基础资源:CPU、内存、网络、磁盘、进程等实验场景。

    • Java应用:数据库、缓存、消息、JVM本身、微服务等,还可以指定任意类方法注入各种复杂的实验场景。

    • 云原生场景:

      • 节点上CPU、内存、网络、磁盘、进程实验场景。

      • Pod网络和Pod本身实验场景。例如,删除Pod。

      • 容器的实验场景。例如:删除容器、容器内CPU、内存、网络、磁盘、进程等实验场景。

AHAS Service

AHAS Chaos的后端服务,用来下发演练命令,管理演练数据,主要的功能特点如下:

  • 功能完善:

    • 通过流程编排组织故障演练场景。

    • 资源管理帮助您更方便地了解演练的机器资源使用情况。

  • 稳定可靠:

    • 分布式的部署方式和完善的监控系统保证了演练功能的高可用性。

    • 在服务不可用情况下,您可以通过手动执行命令恢复演练。

  • 本页导读 (1)