如果我创建一个简单的拓扑,其中有一个源和一个处理器,则控制台中的StreamThread会翻倍。
例如,如果我将线程设置为一个并具有一个分区,则会看到2个流线程。如果我设置为20个线程并有20个分区,我会看到40个流线程。
基于Kafka Streams thread number,我期望这些数字的一半。
我配置错了,还是应该这样?
编辑: 在stream = new KafkaStreams(topology,streamsConfig)之后;被称为我只会看到它创建20个线程。
调用stream.start()之后,我看到那20个线程从CREATED转换为RUNNING。
直到初始化之后,才会创建其他20个线程。看起来StreamsBuilderFactoryBean#start()然后在拓扑不包含任何内容的地方被调用。看来我要么需要以某种方式阻止此调用,要么删除我的创建过程。不知道首选什么。
答案 0 :(得分:0)
结果证明@EnableKafkaStreams注释将为您启动kafka流。由于我没有创建拓扑bean,所以没有碰撞,因为它是一个空拓扑。