VertX / Spring框架应用程序中的延迟故障注入在应用程序级别

时间:2020-04-22 18:50:08

标签: microservices vert.x latency chaos

我已经检查过ChaosMonkey,它仅适用于springboot框架。另外,Pumba tool看起来就像是需要根系统访问权限的基础结构级故障注入。

我正在寻求帮助,以在openshift上的VertX应用程序中引发延迟错误注入。有推荐的库/工具可供使用吗?

1 个答案:

答案 0 :(得分: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