在node.js/Java中编写的AWS Lambda函数是否存在任何性能/功能差异

suk*_*uku 10 java amazon-web-services node.js aws-lambda

我计划将AWS Lambda用于应用程序的后端.与node.js相比,我对Java更熟悉,但我看到node.js中的Lambda函数比Java更受欢迎.基于Java和基于nodejs的lambda函数之间是否存在性能差异?

bir*_*aum 21

虽然Java的启动时间较慢,但它的运行时性能要比node.js或Python好很多.这意味着Java Lambda函数在以下情况下有意义:

  1. 它们是定期调用的 - AWS Lambda将重用它的初始化容器,您可以从更好的性能中受益,而不会出现冷启动延迟

和/或

  1. 它们具有较长的运行时间 - 如果您的功能正在运行,例如1或2分钟,如果函数本身运行速度比node.js快一个数量级,则您并不关心启动5秒

您可能想看看这个比较冷启动时间的github项目.

Java糟糕的冷启动的一个重要因素可能是Java项目通常比node.js函数大得多.无论如何,您应该始终尽量保持功能尽可能小,以减少初始延迟.

当然,在选择编程语言时,性能不应该是唯一的因素.我个人认为node.js在使用例如JSON数据时非常方便,这就是我在大多数函数中使用它的原因.