首页 > 解决方案 > Lambda 跨部署维护检查点

问题描述

我有一个由 CloudFormation 部署的 Lambda,它从 Kinesis 消费并产生到另一个 Kinesis 流。输出主题的使用者不能很好地处理重复记录,所以我想更多地了解 Lambda 如何保持它消耗的最后一条记录/批次的状态。

交叉发布到 AWS 论坛:https ://forums.aws.amazon.com/thread.jspa?threadID=333823&tstart=0

标签: aws-lambdaamazon-kinesis

解决方案


让我从我对 kafka/kinesis(aws) 的经验中为您提供帮助。

检查点是否维护? 您多次重新部署 lambda,如果您在 kinesis 中提交检查点并不重要,因为您提交到您阅读到 kinesis 而不是 lambda 的消息。

  • CheckPoints :- 它本质上是一种允许您从最后一个检查点位置重新启动进程的机制。

来到你的第二个问题,它从StartingPosition开始读取?

  • 如果您已提交检查点,它将不会从头开始读取。它将从您上次提交的位置开始。

ReportBatchItemFailures 有什么不同吗?

  • 是的,这很重要。假设你的 lambda 代码处理批处理记录,当批处理失败时,仅重试最后一条成功消息之后的记录。这减少了您的应用程序对重复记录的处理,并且您有更多的控制来处理错误失败。

希望你的疑问现在有点清楚了:)


推荐阅读