我检查了仅适用于 springboot 框架的ChaosMonkey 。此外,Pumba 工具看起来像是需要根系统访问的基础架构级别的故障注入。
我正在寻求帮助,以在 openshift 上的 VertX 应用程序的应用程序级别引入延迟故障注入。是否有推荐的库/工具可供使用?
我检查了仅适用于 springboot 框架的ChaosMonkey 。此外,Pumba 工具看起来像是需要根系统访问的基础架构级别的故障注入。
我正在寻求帮助,以在 openshift 上的 VertX 应用程序的应用程序级别引入延迟故障注入。是否有推荐的库/工具可供使用?
2018 年,我在 Codemotion 阿姆斯特丹发表了一场关于混乱的演讲。在本次演讲中,我使用了 pumba 和 vert.x。只是为了记录,ChaosMonkey 与 Spring 无关,它可以与任何应用程序一起使用,但是如果您查看演示文稿https://www.jetdrone.xyz/presentations/codemotion-amsterdam-2018,您可以了解如何使用 pumba。
简而言之:
如果您想测试负载/DDoS,您可以使用wrk
或任何其他负载测试工具,例如:
wrk -t4 -c400 -d60s http://paas-myproject.127.0.0.1.nip.io/
您可以测试网络中断:
# package loss
pumba --debug netem --duration 1m \
--tc-image gaiadocker/iproute2 \
loss -p 20 -c 10 "re2:.*paas.*"
# Introduce latency
pumba --debug netem --duration 1m \
--tc-image gaiadocker/iproute2 \
delay --time 500 "re2:.*paas.*"
# Introduce latency (2)
pumba --debug netem --duration 1m \
--tc-image gaiadocker/iproute2 delay \
--time 100 \
--jitter 30 \
--correlation 20 \
"re2:.*paas.*"
或服务器中断/崩溃:
pumba --random --interval 1m \
kill --signal SIGKILL "re2:.*paas.*"
请注意,在所有示例中都有一个正则表达式"re2:.*paas.*"
。这是为了确保 pumba 只会影响与我们的应用程序相关的容器,而不是来自 openshift 或其他应用程序的其他必需容器。
为此,您需要确保您的应用程序以简单的方式命名,您可以在执行时过滤掉:
docker ps