进行混沌工程

时间:2019-04-10 17:19:06

标签: spring-boot microservices

我有28个微服务,其中一些相互通信。所有这些都是使用SpringBoot 2x构建的,它们使用自己的资源(数据库,rabbitmq等)。它们部署在PCF中。

我需要确定整个系统的弱点。那是我诉诸混沌工程的时候。这是我的第一次,我可以使用一些帮助,例如如何设计工作,应该收集哪些指标,可以使用的工具以及应该运行多长时间的此类测试等。

TIA

2 个答案:

答案 0 :(得分:0)

完成我的研究。将其张贴在这里,以便其他人可能会觉得有用。

非常好的介绍,包括如何开始您的第一个混沌实验:https://www.gremlin.com/community/tutorials/chaos-engineering-the-history-principles-and-practice/

人员,工具,公司进行混乱实验的完整摘要: https://coggle.it/diagram/WiKceGDAwgABrmyv/t/chaos-engineeringcompanies%2C-people%2C-tools-practices/0a2d4968c94723e48e1256e67df51d0f4217027143924b23517832f53c536e62

工具:

三角帆:https://www.spinnaker.io/。 Netflix Chaos Monkey不支持由Spinnaker以外的任何其他机构管理的部署。这使得使用Netflix的Chaos Monkey非常困难。

SpringBoot的ChaosMonkey:https://docs.chaostoolkit.org/drivers/cloudfoundry/。非常容易遵循说明。使用Spring配置文件轻松打开/关闭。

Chaos Toolkit-https://docs.chaostoolkit.org/drivers/cloudfoundry/。由于我的应用程序已部署在Cloud Foundry中,并且此工具具有CloudFoundry扩展,因此该工具对我的情况特别有用。非常详尽,但易于遵循的说明。到目前为止,我首选的工具。

混沌狐猴-https://content.pivotal.io/blog/chaos-lemur-testing-high-availability-on-pivotal-cloud-foundry。该工具有望实现,但网络管理员不会共享AWS凭证供我使用Pivotal单元。

答案 1 :(得分:0)

您已经找到了Chaos Toolkit,这是我建议进行实际实验的建议,尤其是在开始时。

混沌的基础是您需要对其进行计划,并在开始之前进行正确的分析。然后,您需要找出监视实验结果所需的信息。如果我们实施延迟,服务X会怎样?监视请求,错误等。是否存在运行正常的降级状态?

您的问题非常广泛,因此很难回答。

每次启动实验时,请务必尝试防止级联失败,并始终停下来终止实验,并在出现严重问题时将所有内容回滚。