0

我检查了仅适用于 springboot 框架的ChaosMonkey 。此外,Pumba 工具看起来像是需要根系统访问的基础架构级别的故障注入。

我正在寻求帮助,以在 openshift 上的 VertX 应用程序的应用程序级别引入延迟故障注入。是否有推荐的库/工具可供使用?

4

1 回答 1

2

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
于 2020-04-23T10:41:53.763 回答