gpt4 book ai didi

amazon-web-services - 如何在触发 lambda 后将消息保留在 SQS 上

转载 作者:行者123 更新时间:2023-12-05 02:52:15 25 4
gpt4 key购买 nike

在我的应用程序中,我们使用 SQS 对要由另一个模块处理的消息进行排队。 SQS 不会发送消息已到达的通知,我不想让我的应用程序每隔“X 次”去检查一次。因此,我尝试使用 lambda 触发器向我的模块发出 http 请求,并在消息到达时使其汇集来自 SQS 的消息。

问题是如果 lambda 函数没有错误(据我所知),SQS 会删除已发送的消息。强制错误只是为了将消息保留在池中是不正确的。因此,我需要一种在触发 lambda 后将消息保留在 SQS 上的方法。

也许我应该将处理消息的代码移至 lambda 函数,但我正在寻找将其保留在那里的方法。

谁能给点指导?

提前致谢

最佳答案

SQS 旨在成为其队列的单一生产者到消费者,因此预期的功能正在发生。

但是,有一种解决方案适用于这种确切的情况,但它需要您更新您的架构。

解决方案是使用 fanout architecture .

fanout

您可以改为发布到 SNS 主题,您的 SQS 队列订阅了该主题。然后为并行 channel 创建额外的 SQS 队列(每个唯一的 Lambda 1 个)。

将每个 Lambda 函数添​​加为自己的 SQS 队列的使用者,每个函数都有自己的处理。

关于amazon-web-services - 如何在触发 lambda 后将消息保留在 SQS 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62682450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com