java - 部署 Java AWS Lambda 的最佳方式是什么?

标签 java aws-lambda

有两种“部署”Java Lambda 的方法:

  • 创建一个包含所有(未打包的)依赖项的“胖”jar,例如通过使用 maven-shade-plugin
  • 创建一个包含我的代码的 zip 文件和一个包含所有依赖项的 lib 目录作为 jar 文件

由于执行我们简单的 Lambda 的环境需要很长时间才能“启动”(20-30 秒),我想知道这两种方法是否比另一种方法“更快”或者可以进一步加速?

最佳答案

我发现 FAT jar 是占用空间小于 MB 限制的 lambda 的最佳方法。如果超过 MB 限制,请将库添加到 lambda 的 lib 文件夹并读入。

对于库中的 jars,我发现 lambda 在容器中首次启动时加载速度稍慢...第一次较慢,同一容器中的后续启动速度非常快。 .如果它进入一个新的容器,一次又慢了。

这里有一些关于冷启动的有用信息: https://hackernoon.com/im-afraid-you-re-thinking-about-aws-lambda-cold-starts-all-wrong-7d907f278a4f

关于java - 部署 Java AWS Lambda 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33243882/

相关文章:

aws-lambda - S3 存储桶中的 AWS Lambda 代码未更新

python - python中如何处理一些异常

aws-lambda - 无服务器框架 WarmUp 插件未被调用

amazon-web-services - 当 Lambda 函数返回错误时,AWS Step Functions 不会捕获错误

java - 从托管 bean 发布时出现警告 "[Parameters] Parameters : Invalid chunk ignored"

Java泛型(简单案例,推理清晰)

java - Hibernate CRUD 类似于 Ruby on Rails 的脚手架

java - 对于参数类型 java.lang.Double、java.lang.Double ,运算符 + 未定义

java - 在 Faro 洗牌期间跟踪选择的扑克牌

aws-lambda - 如何让公共(public) APIG 访问 VPC 内的 lambda?