中文版读书我
Chaosblade是一个阿里巴巴开源实验注入工具,遵循混乱工程和混乱实验模型的原理,以帮助企业提高分布式系统的容忍度,并确保企业在云过程中转向云或转移到云本机系统的过程中的业务连续性。
Chaosblade是猴子的内部开源项目。它基于阿里巴巴近十年的失败测试和练习实践,并结合了集团业务的最佳想法和实践。
混合物不仅易于使用,而且还支持丰富的实验场景。场景包括:
将域的场景封装到单个项目中,不仅可以标准化域中的场景,而且还可以促进场景的水平和垂直扩展。通过遵循混乱实验模型,可以统一地称为Chaosblade CLI。当前包含的项目是:
您可以从发行版中下载最新的Chaosblade工具包,并提取并使用它。如果要注入与Kubernetes相关的故障场景,则需要安装Chaosblade-operator。有关详细的中国用法文件,请参阅Chaosblade-help-ZH-CN。
Chaosblade支持CLI和HTTP调用方法。支持的命令如下:
blade p jvm --process business
。如果附件成功,请返回状态查询或代理撤销的UID。blade revoke UID
blade create [TARGET] [ACTION] [FLAGS]
。例如,如果您实现了Dubbo消费者调用xxx.xxx.service接口延迟3S,则执行的命令是blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service
,如果注射成功,请返回,请返回用于状态查询并破坏实验的实验UID。blade destroy UID
blade status UID
或blade status --type create
blade server start -p 9526
以执行CPU完整加载实验: curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"
使用blade help [COMMAND]
或blade [COMMAND] -h
命令查看帮助
下载Chaosblade演示图像并体验刀片工具包的使用
下载图像命令:
docker pull chaosbladeio/chaosblade-demo
运行演示容器:
docker run -it --privileged chaosbladeio/chaosblade-demo
输入容器后,您可以阅读readme.txt文件以实现混乱实验,请享受它。
Chaosblade-operator该项目是用于云原生平台的混乱实验注入工具。它遵循混乱实验模型标准化实验场景,并将实验定义为Kubernetes CRD资源,将实验模型映射到Kubernetes资源属性,以及混乱的实验模型与Kubernetes声明设计的非常友好的组合。在依靠混乱的实验模型来方便地开发方案时,它还可以很好地整合Kubernetes设计概念,通过kubectl或编写代码直接致电Kubernetes API来创建,更新和删除混乱的实验,并且资源状态可以清楚地表明执行情况实验的状态,并标准化Kubernetes断层注射。除了使用上述方法执行实验外,您还可以使用Chaosblade CLI方法执行Kubernetes实验场景并非常方便地查询实验状态。有关详细信息,请阅读中国文档:Cloud Native下的混乱工程实践
该项目是用Golang编写的,因此您需要首先安装最新的Golang版本。最低支持版本为1.11。克隆项目之后,输入项目目录并执行以下命令进行编译:
make
如果在Mac系统上,请编译当前系统版本,请执行:
make build_darwin
如果要在Mac系统上编译Linux系统版本,请执行:
make build_linux
例如,您也可以选择性地编译,例如,您只需要编译CLI和OS场景,然后执行:
make build_with cli os
# If it is a mac system, run
make build_with cli os_darwin
# If you want to compile linux system version selectively, execute:
ARGS= " cli os " make build_with_linux
Arch Linux安装Chaosblade-bin
yay -S chaosblade-bin
有关错误报告,问题和讨论,请提交GitHub问题。
您也可以通过以下方式与我们联系:
即使只是标点符号,我们也欢迎所有贡献。请参阅贡献的详细信息。有关特定社区参与学生的晋升阶梯,请参见:(贡献者梯子)
我们开源项目的最初意图是降低在企业中实施混乱工程的门槛,因此我们高度重视该项目在企业中的使用。欢迎这里的每个人。注册后,您将被邀请加入公司邮件集团,讨论混乱工程在公司登陆时遇到的问题并分享着陆体验。
由于所有贡献的人,该项目的存在。 [贡献]。
Chaosblade是根据Apache许可证的2.0版获得许可的。有关完整许可文本,请参见许可证。