首页 > 解决方案 > Kafka Stream Thread Count 双倍预期

问题描述

如果我创建一个简单的拓扑,其中有一个源和一个处理器,我会在控制台中获得双倍的预期 StreamThread。

例如,如果我将线程设置为 1 并且有一个分区,我会看到 2 个流线程。如果我设置为 20 个线程并有 20 个分区,我会看到 40 个流线程。

根据Kafka Streams thread number,我期待这些数字的一半。

我配置错误还是这是预期的?

编辑:在 stream = new KafkaStreams(topology, streamsConfig); 之后 被称为我只看到它创建了 20 个线程。

在调用 stream.start() 之后,我看到这 20 个线程从 CREATED 转换为 RUNNING。

只是在初始化的后期才创建其他 20 个线程。看起来 StreamsBuilderFactoryBean#start() 然后在拓扑不包含任何内容的情况下被调用。看起来我要么需要阻止它以某种方式被调用,要么删除我的创建过程。不确定什么是首选。

标签: apache-kafka-streams

解决方案


原来@EnableKafkaStreams 注释将为您启动 kafka 流。由于我没有创建拓扑 bean,因此没有冲突,因为它是一个空拓扑。


推荐阅读