使用 AWS 在短时间内启动和关闭测试微服务的最佳方法是什么?

问题描述 投票:0回答:1

在我们公司,我们目前正在运行许多生产级(和测试级)微服务,这些服务是由过去 10 年中各个团队在不同时期编写的。所有这些微服务都在运行 AWS EC2

因此,当用户在前端(FE)访问我们的网站时,流程可能如下所示:

用于生产:

FE <--> service1.prd.company.com <--> service2.prd.company.com <--> service3.prd.company.com <-->service4.prd.company.com

用于分期/测试:

FE <--> service1.stg.company.com <--> service2.stg.company.com <--> service3.stg.company.com <-->service4.stg.company.com

我的问题:每个微服务(即service1,service2,service3,...)由公司内的不同团队(即team1,team2,team3,...)拥有。我在 team1 中,想要在 service1 中实现一个功能,但为了对其进行端到端测试,我们需要从 service4 传入的测试数据回流到服务 2 和 3 中。Team4 和 Team3 与其他服务进行备份工作并且无法生成我们需要进行端到端测试的测试日。因此 team1(我的团队)和 team2 被其他 2 个团队阻止了。

我的问题:是否可以建立一个模拟服务 3 的假版本的测试 AWS EC2 微服务,而不是等待 Team3 和 Team4 生成测试数据?

类似:

FE <--> service1.stg.company.com <--> service2.stg.company.com <--> fake_service3.stg.company.com

然后 team1 将完全控制 fake_service3,并且不再需要等待 team3 或 team4 分别对 service3 和 service4 进行更新。 Team1可以在fake_service3生成我们需要的测试数据。

一旦团队 3 和团队 4 有时间进行各自的更新,团队 1 就可以关闭 fake_service3.stg.company.com 并将其返回到原始流程。

这是 AWS 世界的常见做法吗?我的想法正确吗,或者有更好的方法吗?

amazon-web-services web-services amazon-ec2 microservices
1个回答
0
投票

在我看来,您需要构建一些模拟服务。我建议查看类似 WireMock 的内容,但还有 许多其他选项需要考虑

我知道您的问题是关于“AWS 世界”,但我相信这仍然适用。 AWS 没有任何特殊的托管服务来为您提供此服务 - 您可以在 AWS 云中像在其他地方一样实现它。要制作这样一个可以部署到 AWS 的解决方案,您可以使用 WireMock(例如),构建基于 Docker 的模拟 API 服务,并将其部署到 ECS 或 EKS 上。然后,您只需根据需要为需要模拟的 API 启动这些服务即可。

© www.soinside.com 2019 - 2024. All rights reserved.