【问题标题】:SQS FIFO Lambda event source behaviour when MessageGroupId specified指定 MessageGroupId 时的 SQS FIFO Lambda 事件源行为
【发布时间】:2020-10-23 03:09:51
【问题描述】:

我看到 SQS FIFO 队列最近将 added 作为 Lambda 事件源。

我试图了解 Lambda 将如何处理带有指定 MessageGroupId 参数的 FIFO 消息。

来自boto3 SQS 文档 -

属于同一消息组的消息以先进先出的方式处理(但是,不同消息组中的消息可能会乱序处理)。要在单个队列中交错多个有序流,请使用 MessageGroupId 值(例如,多个用户的会话数据)。在这种场景下,可以有多个消费者处理队列,但是每个用户的会话数据都是按照先进先出的方式处理的。

FIFO 行为,再加上“在一个队列中交错多个订单流”这一短语,向我表明具有特定 MessageGroupId 的消息将由 Lambda 处理 并发 1 (即由于 FIFO 没有并行化),但是您将获得并发 Lambda 执行跨越不同的MessageGroupId 值。

这是正确的解释吗?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-sqs


    【解决方案1】:

    经过多次实验并与 AWS 版主交谈后,我得出结论认为这是不可能的 - 您不能保证从 SQS FIFO 队列传递给 Lambda 的事件将只包含一个 MessageGroupId :-(

    不禁觉得 SQS 团队在这里错过了一个窍门。如果你保证以上那么它必须限制 Lambda 并发为一个,以保证 FIFO 原则:-(

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 2022-01-26
      • 2020-04-08
      • 2023-04-09
      • 2019-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多