Kafka 流分区分配器未使用所有可用客户端

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

我们有一个使用 Streams 库来处理数据的 Java 应用程序。流应用程序不会连接来自多个主题的数据,而是独立处理收到的每条消息。该应用程序配置为处理来自多个主题的数据。问题如下:

主题 A 有 20 个分区

主题 B 有 10 个分区

应用程序在 EKS 中运行,并具有 30 个 pod 以及相同的消费者组。我们注意到(这与文档一致),我们只有 20 个 pod 处理数据。我们使用默认分区分配。前 10 个 pod 处理主题 B 的所有分区和主题 A 的 10 个分区。然后 10 个 pod 处理主题 A 的 10 个分区。最后 10 个 pod 不执行任何操作。

我们需要能够将所有分区拆分到所有可用的 pod 上,因此在这个特定场景中,我们有 30 个 pod,每个 pod 处理 1 个分区。

我们如何在不实现自定义分区分配器的情况下实现这一目标?

使用的库:org.apache.kafka:kafka-streams -> 3.7.1

谢谢你

spring-boot apache-kafka-streams confluent-cloud
1个回答
0
投票

此问题的解决方案是对一个主题使用一种拓扑。

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