dirtyhand-tester 阿里开源 Chaosbalde 混沌实验注入工具试用

simonpatrick · 2019年05月21日 · 1290 次阅读

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 服务用来进行模拟实验,下面的实验

  • 准备 JAVA 实验
  • 创建一个实验
  • 访问验证
  • 查看实验状态
  • 销毁实验

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

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

查看实验状态

  • 查看所有的 sh blade status --type create
  • 查看具体的实验
blade status 4b4d4179b5665216

销毁实验

销毁实验

blade status 796aab95e6552a09

总结 Chaosbalde 和 chaostoolkit

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

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册