Chaosbalde 是阿里开源的一款简单易用、功能强大的混沌实验注入工具,以下是进行了一些最
基本的试用.
混沌实验实际上就是给服务注入不同的可能的错误,来看整个分布式服务运行情况。换句话说就是通过控制应用来实现失败,混沌实验有一个很重要的点是Break things on purpose.

Chaosbalde 安装

使用 Docker 基本上就可以启动和运行 Chaosbalde 服务

docker pull registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-demo:latest
docker run -it registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-demo:latest

Chaosbalde docker image 说明

Chaosbalde 中包括了一个简单的 dubbo 服务用来进行模拟实验,下面的实验

Prepare JAVA Application experiment

以下命令是用来准备 JAVA 实验:

blade prepare jvm --process business

Create Delay Experiment

以下命令是用来创建一个混沌实验:dubbo 服务返回延迟三秒

blade create dubbo delay --time 3000 --service com.example.service.DemoService --methodname sayHello --consumer

返回值是一个实验的 uid,会在后续查询实验信息中使用到.

使用 curl 访问:

curl http://localhost:8080/dubbo/hello?name=dubbo

结果返回是失败 timeout:

chaosblade-mock-TimeoutException,timeout=1000

很明显这样就失败了!但是这个返回收拾符合预期其实就是混沌实验需要验证的了

查看实验状态

blade status 4b4d4179b5665216

销毁实验

销毁实验

blade status 796aab95e6552a09

总结 Chaosbalde 和 chaostoolkit

Chaosbalde 和 chaostoolkit 目前比较起来,只从 cli 和运行实验的 dsl 设定上来说,
chaostoolkit 还是完善一些,不过相信 Chaosbalde 马上也会做。具体这两个里面需要的不同 actions 还没有具体比较,后续会继续跟进.


↙↙↙阅读原文可查看相关链接,并与作者交流