node.js - AWS SQS 从 lambda 触发到 Amazon Lightsails

标签 node.js amazon-web-services amazon-ec2 aws-lambda aws-sdk

我是AWS世界的新手,我一直陷入这样一种情况,我想将下载文件URL发送到亚马逊lightsails服务器,这是ec2的轻型版本,然后文件将从那里下载到s3。

现在这里可能有很多由 lambda 生成和传输的下载文件 URL,但我的亚马逊 Lightsails 服务器无法同时处理所有这些大型操作,因此我想到使用 AWS SQS

我将数据(下载 URL、文件上传到 s3 的凭据)传输到我的 aws SQS,并从他们的 SQS 中创建一个最多 10 个条目的队列,然后触发数据并将其以同步方式发送到亚马逊 lightsails 服务器这样服务器端就不会出现任何阻塞或瓶颈情况。知道如何实现这一点吗?

提前致谢!

最佳答案

您描述了一种常见场景,其中 AWS Lambda 不适合作为最终计算服务,因为所消耗的时间和磁盘量不可预测。必须改用 Lightsail (EC2)。

您可以使用 Lambda 来使用任何 AWS SDK 向 SQS 发送新消息/作业。您的 Lightsails 服务器现在必须轮询 SQS 队列中的待处理消息。

如果您有一些与队列长度或保留期相关的限制或任何与规模相关的问题,您可以再次使用计划的 lambda 函数来检查您的队列并水平扩展尽可能多的 Lightsails (EC2) 实例需要。

Here你可以找到一个有用的帖子。您的解决方案可能如下所示:

enter image description here

关于node.js - AWS SQS 从 lambda 触发到 Amazon Lightsails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46316179/

相关文章:

javascript - 计算 RGB 颜色之间的褪色值的有效方法?

javascript - JavaScript 中的对象方法与函数和封装

amazon-web-services - 如何在 node.js AWS Lambda 中获取经过身份验证的用户的电子邮件地址?

amazon-web-services - 如何在 EC2 上设置 ElasticSearch 节点以便它们具有一致的 DNS 条目?

sharepoint-2010 - 是否建议将 Amazon EC2 用于持久的面向公众的网站?

node.js - 如何在 Node.js 应用程序中先运行一个进程?

javascript - LinkedIn oauth 错误缺少必需的参数 "client_id"

amazon-web-services - Terraform启用vpc流日志到亚马逊s3

python-3.x - 如何使用 AWS Lambda 在 AWS Sagemaker 中远程启动 Jupyter Notebook

mysql - 无法将 R 连接到托管在 AWS 的 Bitnami 服务器中的 mysql