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

simonpatrick · May 21, 2019 · 715 hits

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还没有具体比较,后续会继续跟进.

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up