我是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你可以找到一个有用的帖子。您的解决方案可能如下所示:
关于node.js - AWS SQS 从 lambda 触发到 Amazon Lightsails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46316179/