AWS MSK lambda 并发消费者

问题描述 投票:0回答:4

AWS Lambda 支持 Kinesis 和 DynamoDB 事件源的并行化因子。但 MSK 不支持它。我们可以创建 Lambda 函数的保留并发吗?它是否有助于从 MSK 主题并发消费

apache-kafka aws-lambda amazon-msk
4个回答
1
投票

TL'DR 使用 aws::event-source-mapping 将 lambda 连接到 kafka 集群仅限于主题中拥有的分区数量

我有设置POC的经验

Custom Kafka Cluster Topic (1 Partition) > EventSourceMapping > Lambda

在与 AWS 展开讨论后,它看起来像是一个限制

我没有尝试的另一种方法是设置一个 lambda 接收器(kafka connect)并设置一个

tasks.max
,这似乎可以解决这个问题 https://docs.confluence.io/kafka-connectors/aws-lambda/current/overview.html#lambda-sink-multiple-tasks


0
投票

文档中的具体细节非常稀疏。我也在寻找这个,我唯一发现的是: https://amazonmsk-labs.workshop.aws/en/msklambda/tpschemareg/overview.html

在其中,他们从 MSK 读取并发布到 Kinesis,以便 lambda 可以并行处理。如果属实的话,MSK 事件源似乎主要用于迁移。只有一个消费者是相当有限的。

也许尝试更多的人可以留下更好的答案。

krishwin 在本文底部的评论似乎也表明了这一点。 https://dev.to/danieljameskay/triggering-lambda-functions-from-amazon-msk-316o

更好的选择可能是 AWS lambda 接收器连接器。看起来它将运行一个 lambda 进程,最多可达分区数:


-1
投票

您可以在任务设置的

ParallelApplyThreads
中将
TargetMetadata
设置为大于1。

检查这个文档。


-1
投票

Lambda 具有自动缩放功能来控制并发量。除非有特殊需要,通常不需要设置并发数。 https://aws.amazon.com/about-aws/whats-new/2022/01/aws-lambda-auto-scaling-msk-apache-kafka/

© www.soinside.com 2019 - 2024. All rights reserved.