【发布时间】:2020-03-15 10:34:53
【问题描述】:
我有一个 Lambda,它需要将消息发送到另一个 Lambda 以执行某些操作。在我的特殊情况下,它会将消息传递给 Lambda,以便它执行 HTTP 请求并刷新缓存条目。
目前我依靠 AWS 开发工具包发送 SQS 消息。其机制运行良好。我担心的是 SQS 发送方法调用平均需要大约 50 毫秒才能完成。考虑到我在 Lambda 中,我无法在后台执行此操作并期望它在 Lambda 返回并被冻结之前完成。
如果我需要进行多个 SQS 发送调用,情况会更加复杂,这尤其糟糕,因为 Lambda 负责响应低延迟 HTTP 请求。
AWS 中是否有任何替代方案可以在 Lambda 之间进行通信,不需要同步 API 调用,并且表现出更多的“一劳永逸”和异步行为?
【问题讨论】:
-
EventBridge 在异步模式下支持 lambda。也许值得研究一下?
-
核心问题似乎是,无论底层技术(SQS、SNS、EventBridge)如何,它们都依赖于对 AWS API 的 HTTP API 调用,这会引入某种形式的延迟,这可能非常相似。除非 SQS 调用等待某些操作完成,而 EventBridge 不会并立即返回 202。这是我在文档中不清楚的部分。
标签: amazon-web-services aws-lambda amazon-sqs amazon-sns