apache-kafka-streams - 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() 然后在拓扑不包含任何内容的情况下被调用。看起来我要么需要阻止它以某种方式被调用,要么删除我的创建过程。不确定什么是首选。
解决方案
原来@EnableKafkaStreams 注释将为您启动 kafka 流。由于我没有创建拓扑 bean,因此没有冲突,因为它是一个空拓扑。
推荐阅读
- apache-kafka - Kafka 静态 IP 和服务发现
- google-sheets - 错误无法解析函数 QUERY 参数 2 的查询字符串:NO_COLUMN: Col2
- c - malloc和free的机制
- c# - 由于 X86 架构冲突,无法为 WPF .NET 5 项目发布 MSIX 包,但可以使用 .NET Framework 4.8 发布相同的项目
- statistics - 多重线性回归中可接受的标准误差范围是多少
- android - 只能从前台访问位置,但谷歌说我使用后台
- python - 当代码运行 Pyspark 时,EMR 上的 Jupyter 笔记本不打印输出
- c# - Blazor EditForm 验证具有多个值的自定义验证属性
- python - 关于理解 Pytorch .named_modules() 循环的问题
- typescript - 如何在 Vue3 中使用 typescript 注册子组件