【问题标题】:Executor service in AWS lambdaAWS lambda 中的执行器服务
【发布时间】:2018-08-31 03:37:20
【问题描述】:

是否建议在 AWS Lambda 中使用执行器服务?我看到 AWS 文档中的进程和线程有限制

Number of processes and threads (combined total) 1,024

这是否决定了我的执行程序服务中的线程数?

关闭 executor 服务对于 AWS lambda 是否与其他进程一样重要?

【问题讨论】:

  • 这个总数是每个容器......但每个容器一次只运行一个函数调用。并发执行总是有自己独立的容器。鉴于此,有必要这样做吗?你打算在 Lambda 做什么样的工作?

标签: amazon-web-services aws-lambda executorservice threadpoolexecutor executors


【解决方案1】:

在 AWS lambda 限制内,您可以在 lambda 代码中执行任何操作,包括启动多个线程。

但是,请记住,您的 lambda 正在运行的容器可能未针对支持多线程进行优化,因此根据您打算运行的线程数量以及它们的作用,您可能会通过在其中运行每个线程来看到更好的性能自己的 lambda。

根据调用 lambda 的方式和线程的作用,您可能还需要担心 API 网关超时(30 秒)和 Lambda 持续时间限制(5 分钟)。

这是 AWS 的一个官方示例,他们实现了一个 Python lambda,它在容器内启动多个进程:https://aws.amazon.com/blogs/compute/parallel-processing-in-python-with-aws-lambda/(好吧,这些是进程,不是线程,也不是 Java,但它强调了一点 AWS 没有不鼓励在 lambda 容器中并行运行)。

【讨论】:

    猜你喜欢
    • 2017-10-01
    • 2019-02-21
    • 2021-08-04
    • 2022-11-28
    • 2021-06-21
    • 2019-01-21
    • 2018-03-19
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多