Node.js 作为lambda的API项目是个好主意吗?

Node.js 作为lambda的API项目是个好主意吗?,node.js,aws-lambda,Node.js,Aws Lambda,因此,我们正在决定重写现有API微服务的体系结构 讨论的目的是将其移植到AWS Lambda,但我对这种方法有很多疑问 将完整的微服务作为lambda功能是一个好主意吗? 这些将被几个不同的FE项目使用,因此对这些lambda的调用将是大量的 所以我提出的基本问题是: 在经常使用时,让一个带有一堆API端点的微服务都创建为lambda是一个好主意吗?或者,在这种情况下,让一个轻量级的nodejs express服务器运行通常是一个更好的主意吗?为什么 编辑:它也会部分地反应服务器端渲染这是一个主

因此,我们正在决定重写现有API微服务的体系结构

讨论的目的是将其移植到AWS Lambda,但我对这种方法有很多疑问

将完整的微服务作为lambda功能是一个好主意吗? 这些将被几个不同的FE项目使用,因此对这些lambda的调用将是大量的

所以我提出的基本问题是: 在经常使用时,让一个带有一堆API端点的微服务都创建为lambda是一个好主意吗?或者,在这种情况下,让一个轻量级的nodejs express服务器运行通常是一个更好的主意吗?为什么


编辑:它也会部分地反应服务器端渲染

这是一个主要的基于观点的问题(正如@freakish所说),有人它会说是,其他人会说不是

这是我的2美分。我认为真正的问题,也许是你在问自己,依赖于这句话:

这些将被几个不同的FE项目使用,因此 那些lambda将是大量的

这意味着你一直在给lambda打电话。因此,您可能会问自己:权衡一点性能是否有意义?(冷启动)

我要考虑的第一件事是预热一组功能,这样可以避免冷启动。当然,你应该监控你的流量,看看这是一个常数,还是一天中有一次或多次偷看

还要问问自己关于并发性的问题

AWS Lambda(和其他FAA一样)提供了一个非常有趣的“东西”:

  • 不再需要管理服务器
  • 内置自动缩放功能
  • 内置安全性(减少表面攻击),但不能保证安全性,您仍然需要正确考虑。但是,是的,可攻击的表面要小得多
  • 按价值付费
最后一点,按价值付费,非常有趣。例如,假设你的观众主要在美国,这意味着你可能不会在夜间“启动并运行”一切,从而减少开支

一些陷阱 当然,当你第一次进入这个没有服务器的奇妙世界时,你可能没有想到一些绘画点:

  • 您将如何处理版本控制和环境?试着去理解它
  • 您将如何调试它
  • 那么CI/DI呢
正如你们所看到的,这是一个非常广泛的话题,我们可以继续讨论所有的优点和缺点。您必须进行自己的搜索,看看哪些内容真正更适合您的体系结构的需要

谈论react应用程序的SSR是另一个话题,但就个人而言,我不会加入lambda fn,因为您将拥有更大的软件包,这会影响冷启动。也许我会选择AWS EB,或者安装一台带有反向代理的NGINX服务器来服务多个应用程序(如果你真的需要将FE巨石拆成微型前端)


祝你好运

这是一个主要的基于观点的问题(正如@freakish所说),有人会说“是”,有人会说“不”

这是我的2美分。我认为真正的问题,也许是你在问自己,依赖于这句话:

这些将被几个不同的FE项目使用,因此 那些lambda将是大量的

这意味着你一直在给lambda打电话。因此,您可能会问自己:权衡一点性能是否有意义?(冷启动)

我要考虑的第一件事是预热一组功能,这样可以避免冷启动。当然,你应该监控你的流量,看看这是一个常数,还是一天中有一次或多次偷看

还要问问自己关于并发性的问题

AWS Lambda(和其他FAA一样)提供了一个非常有趣的“东西”:

  • 不再需要管理服务器
  • 内置自动缩放功能
  • 内置安全性(减少表面攻击),但不能保证安全性,您仍然需要正确考虑。但是,是的,可攻击的表面要小得多
  • 按价值付费
最后一点,按价值付费,非常有趣。例如,假设你的观众主要在美国,这意味着你可能不会在夜间“启动并运行”一切,从而减少开支

一些陷阱 当然,当你第一次进入这个没有服务器的奇妙世界时,你可能没有想到一些绘画点:

  • 您将如何处理版本控制和环境?试着去理解它
  • 您将如何调试它
  • 那么CI/DI呢
正如你们所看到的,这是一个非常广泛的话题,我们可以继续讨论所有的优点和缺点。您必须进行自己的搜索,看看哪些内容真正更适合您的体系结构的需要

谈论react应用程序的SSR是另一个话题,但就个人而言,我不会加入lambda fn,因为您将拥有更大的软件包,这会影响冷启动。也许我会选择AWS EB,或者安装一台带有反向代理的NGINX服务器来服务多个应用程序(如果你真的需要将FE巨石拆成微型前端)


祝你好运

主要基于观点。然而,我个人觉得大多数AWS都太麻烦了。我更喜欢控制整个过程。自动缩放似乎是一个不错的(也是唯一有趣的)功能,但实际上,我工作过的公司都不需要它,主要是基于观点的。然而,我个人觉得大多数AWS都太麻烦了。我更喜欢控制整个过程。自动缩放似乎是一个不错的(也是唯一有趣的)功能,但实际上,我工作过的公司都不需要它。