0

我正在为 Web 应用程序开发后端。后端分为几个模块,例如订单、产品等。这些模块共享一些公共资源,例如 DynamoDB 表、SNS 主题。我希望能够独立部署模块。这种情况的最佳实践是什么?API 网关应该对所有模块通用还是每个模块都应该有自己的 API 网关?感谢您的回复

4

1 回答 1

0

我会从简单开始,将所有内容保存在单个 SAM 模板、单个 API 网关和单个存储库中。使用 SAM / Cloudformation 进行部署时,仅更新已修改的资源,因此没有开销。

以这种方式构建 CD 管道也更容易。您可以通过仅提交和推送该模块的更改来实现独立的模块部署。

一旦(如果)您过度使用单模板基础架构模型,使用Cloudformation 的功能Outputs将资源分离到多个模板并交叉引用共享资源并不会太困难。!ImportValue同步相关部署可能很困难(即模块 1 中的功能 A 需要模块 2 中的功能 B 才能正常工作,反之亦然),但这是另一天的问题。

于 2019-01-27T17:03:02.637 回答