【发布时间】:2018-09-24 18:36:47
【问题描述】:
我有一个从 SQS 队列中读取的 AWS Lambda 函数。 lambda 逻辑基本上是从 SQS 读取一条消息,然后处理并删除该消息。读取消息的代码类似于。
ReceiveMessageRequest messageRequest =
new ReceiveMessageRequest(queueUrl).withWaitTimeSeconds(5).withMaxNumberOfMessages(1);
现在我的问题是触发这个 lambda 的最佳方法是什么,以及这个 lambda 如何扩展例如,如果队列中有 1000 条消息,那么会有 1000 个 lambda 一起运行,因为在我的情况下是一个lambda 只能从队列中读取一条消息。
有关此类设计的最佳实践的任何指示。
【问题讨论】:
-
为什么您要基于 SQS 消息触发 Lambda? SQS 用于缓冲信息,但 Lambda 可以实时运行。有什么方法可以更改源系统,使其触发 Lambda 或 SNS 而不是 SQS?
标签: amazon-web-services aws-lambda amazon-sqs serverless