【Github】项目名:chaosblade – 阿里巴巴开源的混沌实验注入工具
项目简介
ChaosBlade是阿里巴巴开源的实验注入工具,遵循混沌工程和混沌实验模型原则,基于阿里巴巴近十年的故障测试和演练实践,结合集团业务的理念与实践。它不仅易用,还支持多种实验场景,包括基本资源(如CPU、内存等)、Java应用、C++应用、容器、云原生平台等场景的实验。其项目包含如混沌实验管理工具chaosblade、混沌实验模型Golang语言定义chaosblade – spec – go等多个部分。支持CLI和HTTP调用方法,包含如准备、撤销、创建、销毁、查询等命令。
项目核心技术
在不同应用场景下使用了多种技术实现实验场景注入。例如Java应用场景下使用JavaAgent技术实现动态挂载,C++应用场景下使用GDB技术实现方法和代码行级别的实验场景注入。对于容器相关场景通过调用Docker API或者CRI来实现标准化操作,在Kubernetes平台实验场景则通过Kubernetes标准CRD方法定义混沌实验,方便使用Kubernetes资源操作方法来创建、更新和删除实验场景。
项目总结
Chaosblade是一款功能强大且实用的混沌实验注入工具,在提升分布式系统容错性和确保企业云化或迁移到云原生系统过程中的业务连续性方面有着重要意义。欢迎各位粉丝留言讨论关于这个项目的任何想法或使用经验。