提问人:Gernii_Le 提问时间:11/17/2023 最后编辑:John RotensteinGernii_Le 更新时间:11/17/2023 访问量:33
需要帮助来处理 lambda NodeJS 的 ORM/ODM 包大小?
Need help to handle ORM/ODM bundle size for lambda NodeJS?
问:
目前,我总共有 50 个 lambda 函数,它们都有 TypeORM 和 Typegooes,这使得每个 lambda 捆绑大小始终为 +1-2MB,仅用于 ORM/ODM。每次部署(~5 分钟)都会让团队受苦,并且客户端一直抱怨 lambda 函数冷启动时间太长(~600 毫秒)。
对于一个更长远的目标,我认为我需要改变一些东西来处理这个缺点。我不知道哪个更好,或者其他一些架构更适合处理这个问题:
- 把所有东西都放在那里,不要试图做任何事情。微服务架构是最好的。
- 将所有 ORM/ODM 重构为单独的 lambda/路径(/user、/service),一个 lambda 处理该路径的所有数据库查询。这是单体架构:
- 优点:
- 所有其他 lambda 捆绑大小仅为 ~ 20KB/每个。我只需要创建 1 个 lambda 来处理 ORM,1 个 lambda 来处理 ODM,以及每个路径(/user、/service)的数据库连接(我不认为将所有内容都放在 1 lambda 中是最好的用例)。
- 将冷启动减少到每条路径仅 1 次,而不是每次触发 lambda 时。
- 缺点:
- 1 个错误可能导致所有路径失败
- 优点:
除了我提到的之外,还有什么方法比这更好吗?
答: 暂无答案
评论