Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS Java Lambda JVM实例_Java_Amazon Web Services_Aws Lambda_Serverless Architecture - Fatal编程技术网

AWS Java Lambda JVM实例

AWS Java Lambda JVM实例,java,amazon-web-services,aws-lambda,serverless-architecture,Java,Amazon Web Services,Aws Lambda,Serverless Architecture,假设我有一个AWS lambda函数 **String lambdaFunction1() { //some processing }** 假设SNS主题中的任何新消息都会触发lambdaFunction1。10条SNS消息将触发多少个JVM实例 AWS lambda是在自己的JVM中执行每个lambda,还是重复使用相同的JVM实例。引用 假设您的函数完成,经过一段时间,然后调用 又来了。Lambda可能会重新创建一个新容器,其中 案例经验如上文所述。情况就是这样 如果您更改代码,这是肯定

假设我有一个AWS lambda函数

**String lambdaFunction1() {
//some processing 
}**
假设SNS主题中的任何新消息都会触发lambdaFunction1。10条SNS消息将触发多少个JVM实例

AWS lambda是在自己的JVM中执行每个lambda,还是重复使用相同的JVM实例。

引用

假设您的函数完成,经过一段时间,然后调用 又来了。Lambda可能会重新创建一个新容器,其中 案例经验如上文所述。情况就是这样 如果您更改代码,这是肯定的

但是,如果您没有更改代码,并且没有太多时间更改代码 过去,Lambda可能会重用以前的容器。这提供了一些 对双方的性能优势:Lambda可以跳过节点 语言初始化,您可以在 代码。上次写入/tmp的文件仍将保留 如果重新使用沙箱,就会出现这种情况

记住,您不能依赖于容器被重用,因为它是 Lambda有权创建一个新的

如前所述:您不能依赖于容器被重用,但当AWS认为这是一种性能提升时,这是一个很好的机会

或者更简单一点:AWS可能知道如何使lambda尽可能高效,所以您不应该真的过度考虑这一点


此外,虽然本博客的目标是Node.js,但AWS似乎根据他们的帖子为Java做了类似的事情。

这会给你带来什么不同?1。这是为了理解它是如何工作的。当我们访问数据库时,它将有助于设计连接池。下面的博客文章很好地说明了AWS如何重用其容器:我不认为您可以说创建了多少JVM实例,老实说,您也不应该关心这一点。这是为了理解AWS如何维护JVM,其次它将有助于在Lambdats中设计DB连接池感谢您深思熟虑的回答。关键的一点是,lambda不能在内存或磁盘中保持状态,否则在同一实例上重复执行会给您带来麻烦。好的,这意味着每个lambda实例都是一个容器。谢谢你的洞察力