kafka流如何尝试为每个kafka主题获得相同的分区?

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

如果我有多个应用程序实例,并且我要加入两个主题,则每个实例必须具有相同的分区才能加入数据。同时,它必须在实例之间平均分配分区。

[如果我猜到了,我认为它将为第一个主题随机请求一个分区,将其保留在上下文中,然后为参与该连接的所有其他主题请求一个相同的分区?

任何人都可以确认吗?

apache-kafka-streams
1个回答
0
投票

涉及流连接时,最好具有基础主题co-partitioned。这样,您就不必真正处理任何奇怪的行为。

这意味着,由于Kafka默认情况下是按键对数据进行分区的,因此您将在联接条件中使用的键用作kafka主题中消息的键。这样,与消费者方的Range分配策略(partition.assignment.strategy)一起,您将获得最佳联接。

必要条件是两个主题中的分区数量相同。

阅读更多here

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