【问题标题】:Kinesis triggers lambda with small batch sizeKinesis 以小批量触发 lambda
【发布时间】:2018-12-05 20:28:57
【问题描述】:

我有一个 Lambda,它被配置为 Kinesis 数据流的消费者,批量大小为 10,000(最大)。 lambda 解析给定的记录并将它们插入到 Aurora Postgresql(使用 INSERT 命令)。

不知何故,尽管“IteratorAge”一直很高(大约 60 秒),但我发现大多数时候调用 lambda 时记录的数量相对较少(少于 200 条)。记录使用随机分区键(生成为 uuid4)放入流中,大小为

如何解释?据我了解,如果分片不为空,则应轮询所有当前记录,直至配置的批量大小。

我假设如果以更大的批次调用 Lambda,则可以防止这种延迟。

注意:还有一个 Kinesis Firehose 配置为消费者(似乎没有任何问题)。

【问题讨论】:

    标签: aws-lambda amazon-kinesis data-pipeline


    【解决方案1】:

    发现 Kinesis 的迭代器年龄为 0 毫秒,因此这种行为是有意义的。 Lambda 的迭代器年龄有点不同:

    测量每批已处理记录的最后一条记录的年龄。年龄是 Lambda 收到批次的时间与批次中最后一条记录写入流的时间之间的差。

    【讨论】:

      猜你喜欢
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-08
      • 2020-11-18
      • 2015-04-04
      • 2020-06-09
      • 2021-09-12
      相关资源
      最近更新 更多