微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有AWS Lambda的AWS MSK-消息确认

如何解决带有AWS Lambda的AWS MSK-消息确认

我在AWS官方文档中找不到有关AWS Lambda从AWS MSK(托管的Kafka)用于消息消费的确认模型的任何信息。

AWS Lambda如何从AWS MSK确认Kafka消息?可以配置它(自动还是手动)?

解决方法

无论您使用的是MSK还是其他任何东西,Kafka的确认模型都将相同-因此,为什么在AWS文档上找不到任何内容。您的使用者几乎需要将属性enable.auto.commit设置为true,以便您的使用者每5秒确认一次返回的所有记录。可以通过属性auto.commit.interval.ms来配置5秒间隔。如果将属性enable.auto.commit设置为false,则取决于用户通过显式调用方法commit()来确认每条记录。

现在请记住Lambda函数的性质。备份每个部署功能的基础容器会不时回收,并且您在功能中实例化的任何对象(例如KafkaConsumer)都将被破坏并按顺序创建。这意味着您在使用过程中可能会遇到性能延迟,并且如果最后一次轮询未提交所有读取的记录,则记录可能会重复。消费者将从上次提交的偏移量恢复处理。

幸运的是,AWS对MSK上的每个Kafka记录发布了对执行Lambda函数感兴趣的支持。这是一个链接,您可以了解更多有关此的信息:

https://aws.amazon.com/blogs/compute/using-amazon-msk-as-an-event-source-for-aws-lambda/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。