Chaosbalde 是阿里开源的一款简单易用、功能强大的混沌实验注入工具,以下是进行了一些最
基本的试用.
混沌实验实际上就是给服务注入不同的可能的错误,来看整个分布式服务运行情况。换句话说就是通过控制应用来实现失败,混沌实验有一个很重要的点是Break things on purpose
.
使用 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 中包括了一个简单的 dubbo 服务用来进行模拟实验,下面的实验
以下命令是用来准备 JAVA 实验:
blade prepare jvm --process business
以下命令是用来创建一个混沌实验: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
很明显这样就失败了!但是这个返回收拾符合预期其实就是混沌实验需要验证的了
sh
blade status --type create
blade status 4b4d4179b5665216
销毁实验
blade status 796aab95e6552a09
Chaosbalde 和 chaostoolkit 目前比较起来,只从 cli 和运行实验的 dsl 设定上来说,
chaostoolkit 还是完善一些,不过相信 Chaosbalde 马上也会做。具体这两个里面需要的不同 actions 还没有具体比较,后续会继续跟进.