【发布时间】:2018-07-26 02:16:57
【问题描述】:
我的团队正在创建一个遵循无服务器架构的项目,我们正在使用 AWS Lambda、NodeJS 和无服务器框架。 该应用程序将是一组服务,每个服务都将作为一个单独的函数进行处理。
我发现了在同一个项目下组合多个函数然后使用云形成一次部署所有的示例,但是存在一些我们不希望的缺陷,例如为每个 lambda 函数部署不同模块的资源, 这将导致一些冗余,如果我们想更改一个文件,它不会反映在所有 lamda 函数中,因为它是托管 lamda 函数的本地函数
https://github.com/serverless/examples/tree/master/aws-node-rest-api-with-dynamodb
我的问题:
您知道组织包含多个功能的项目的最佳方式吗?每个功能都有单独的.yaml 和配置,能够在需要时部署所有这些功能或指定要部署的选择性更新功能?
【问题讨论】:
-
您能否详细说明为什么使用一个包含多个函数的 yaml 文件不适合您?这将集中您的部署,真正让您的生活更轻松。你遇到了什么缺陷?
-
@GalBashan 感谢您的评论,我更新了帖子并表达了我的担忧,我们还需要通过单独隔离每个服务并且它们之间没有耦合来遵循微服务方式
-
查看您描述的问题,在仍然使用无服务器和1个yaml文件的情况下有解决方案:1.您可以将资源设置为特定功能,而不是整个项目2.您可以部署单个使用 sls deploy 函数的函数,因此一个文件的更改不会导致对所有人的 dwployment 这有帮助还是我遗漏了什么?
标签: aws-lambda nodes aws-sdk