如何在无服务器框架应用程序中实现两个单独的服务?

时间:2019-07-14 15:00:28

标签: aws-lambda serverless-framework

我在无服务器应用程序上运行,该应用程序具有许多API端点,我遇到了“有限的200个资源”这一流行的问题,我在寻找解决方案,有人建议使用插件来应用所谓的“嵌套堆栈”或多个堆栈用于相同的服务。

其他人建议,将应用程序拆分为多个服务,我认为这更可靠,我的问题是,包含两个不同服务的一个项目的正确结构是什么,每个服务都有自己的serverless.yml(例如,我们会在根目录下使用一个package.json还是什么?)

任何详细的示例将不胜感激

1 个答案:

答案 0 :(得分:1)

200个资源是一个“软限制”,您可以写给AWS并要求他们放松。在某些情况下,如果您申请此案,他们将使您部署的资源超过200。

这发生在我的项目上,我所做的就是根据模块的逻辑分组将API分为几个项目。具体来说,我将“用户API”移到了自己的无服务器项目中,并将“资源API”保留在另一个项目中。然后,我还使用了如下技术来减少资源消耗:与其为每个REST动词声明一个新的处理程序(一个用于“发布资源”,另一个用于“获取资源”等),我将它们放在同一处理程序,但作为同一处理程序下的不同事件。