我有一个包含50个分区的输入主题,我试图计算使用Kafka Streams接收到的消息总数。请考虑以下拓扑。
var inputStream = builder.stream("input-topic", Consumed.with(...));
inputStream
// Grouping by a constant key here for global aggregation.
.groupBy((k, v) -> 1L, Serialized.with(...))
.count()
.toStream()
.foreach((k, v) -> System.out.println("Count updated to: " + v));
...
// For simplicity, let's consider the cache size to be zero.
props.put(StreamsConfig.CACHE_MAX_BYTES_BUFFERING_CONFIG, 0);
当我开始处理线程数时,会发生怪异的事情。
在最简单的带有1个线程的示例中,计数随着接收到的消息数的增长而很好地增长。
将线程数设置为例如50,并且发生了一些事情:
有人可以指出我的正确方向吗?