首页 > 解决方案 > AWS API Gateway - 管理不同阶段的多个模型版本

问题描述

我为我们的许多后端服务使用了多个 AWS API Gateway。

这是网关的标准结构(关于我的问题);

我遇到的问题(这是自从我开始使用 AWS API Gateway 以来);

网关完美地管理 API 的版本控制,但是,不是模型版本控制......

在一个季度(我们在 3 个月的冲刺中工作),我们会更改多个模型。这个阶段将被部署测试并且事情将继续按预期工作。

当我们需要在本季度进行修补程序时,问题就出现了。

修补程序仅包含我们希望发布到生产环境中的一小部分开发,但是,网关仅包含一个版本的模型。意思是,如果我在本季度对 10 个模型进行了更改,然后需要发布仅影响 1 个模型的修补程序,我们就有麻烦了。

我通常需要回滚所有模型更改,以匹配初始 prod 版本,添加 1 个新模型更改并发布到 live - 然后返回并重新添加我必须删除的所有模型(同步测试和 prod备份)。

我可以通过创建多个网关(称为Gateway-testGateway-live )来解决这个问题(肮脏的黑客)。这些都是彼此的副本,每个都有 1 个阶段,但有自己的模型。这样,当生产需要更改修补程序时,我将简单地添加所需的内容并进行部署。在本季度末,我会将它们同步并实时部署。

我相信您会看到这会变得多么痛苦——就像现在,我必须管理 2 个完全独立的网关,而不是管理模型的版本。

我已经与 AWS 支持和我们的 AWS 架构师(业务支持)进行了交谈,但是,这似乎是“它可能会被添加到路线图”的情况。

有没有其他人设法解决这个问题?

提前致谢。

标签: amazon-web-servicesaws-lambdaaws-api-gateway

解决方案


推荐阅读