gpt4 book ai didi

apache-kafka - 使用 Kafka Streams 进行工作分配

转载 作者:行者123 更新时间:2023-12-04 16:58:43 24 4
gpt4 key购买 nike

我正在使用 Kafka Streams 对 Kafka 主题进行并发工作。

流具有以下形式

stream(topic)
.map(somefunction)
.through(secondtopic)

我已经设置了 KStreams有 15 个工作线程,但似乎工作没有在线程之间正确平衡(或根本没有平衡)。我的设置可能有问题吗?我原以为工作会在工作线程之间平均分配,但似乎并非如此。

snapshot from jvisualvm

最佳答案

您只能拥有与输入 Kafka 主题分区一样多的线程。

一个分区内的消息由单个线程处理,以提供消息传递的总顺序。

实际上,在 KafkaStreams 中,输入主题分区均匀分布在任务而不是消息中。

因此,只有当消息在分区之间很好地平衡时,线程之间的工作才能很好地平衡。

要获得有关线程模型的更多信息,请查看 Confluent documentation

关于apache-kafka - 使用 Kafka Streams 进行工作分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38181395/

24 4 0