gpt4 book ai didi

java - 对同一个 SQS FIFO 队列执行 receiveMessageRequest

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

我有两个 lambda 实例同时运行,这两个实例将对同一个 FIFO 队列进行一次短轮询,间隔仅几秒钟。

尽管队列中总共有 15 条消息,第一个实例将接收前 10 条消息,第二个实例将接收 0 条消息。

为什么第二个实例无法从队列中获取剩余的 5 条消息?这是预期的行为吗?我该如何克服它?

最佳答案

您的 15 条消息(很可能)都属于同一个消息组 ID。因此,在成功处理并删除前 10 个之前,剩余 5 个将无法供您的消费者使用。对于 FIFO 队列,这是保留消息顺序的预期行为(为 @Michael-sqlbot 欢呼,根据下面的评论用这个答案指出了正确的方向)。

使用long polling对于标准队列。短轮询不会检查每个 SQS 服务器,因此,它有可能无法获得所有结果。长轮询会检查所有 SQS 服务器,因此将获得所有结果。

关于java - 对同一个 SQS FIFO 队列执行 receiveMessageRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47197479/

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