如何解决带有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 举报,一经查实,本站将立刻删除。