线上网络很复杂,经常会出现波动,延迟,无法访问,各种异常情况。这些场景,我们在开发阶段经常容易忽略。如果程序不考虑这些异常,会导致我们程序不能按照预期执行或者会出现服务阻塞不可用。
比如:没有设置mysql读写超时时间;消息队列服务异常,我们需要保障数据不丢失;
安装chaosblade-box web可视化平台#
官方文档: https://chaosblade.io/docs/
安装ansible和expect#
1
|
yum install ansible expect -y
|
Github下载chaosblade-box#
1
|
wget https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/release/1.0.3/chaosblade-box-1.0.3.jar
|
有依赖mysql,需要自行安装
1
2
|
#启动服务
nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.3.jar --spring.datasource.url="jdbc:mysql://127.0.0.1:3306/chaosblade?characterEncoding=utf8&useSSL=false" --spring.datasource.username=root --spring.datasource.password=123456 --chaos.function.sync.type=ALL --chaos.server.domain=0.0.0.0:7001 > /data/logs/chaosblade-box.log 2>&1 &
|
chaos.function.sync.type=ALL 开启演练场景
启动成功后在浏览器访问:http://192.168.6.1:7001 , 账号需要先注册
安装探针#
1
|
wget https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/release/1.0.2/chaosagent.tar.gz -O chaos.tar.gz && tar -zxvf chaos.tar.gz -C /opt/ && sudo sh /opt/chaos/chaosctl.sh install -k c1c154d19d674831b4b1ebb2620ea8b9 -p pay -g support -P 9002 -t 192.168.6.1:7001
|
安装完成后可以看到主机
网络丢包#
新建演练#
配置演练参数#
开始演练#
我们可以在服务器验证是否成功