【发布时间】:2017-09-28 13:03:00
【问题描述】:
我在堆栈溢出时从多个来源读取,这表明使用多个消费者组将使我能够同时从多个消费者的同一主题读取同一分区。
例如,
Can multiple Kafka consumers read from the same partition of same topic by default?
How Kafka broadcast to many Consumer Groups
Parallel Producing and Consuming in Kafka
所以这是我上一个问题的后续问题,但上下文略有不同。鉴于我们只能读取和写入到分区领导者,而 Kafka 日志存储在硬盘上。每个分区代表一个日志。
现在如果我有 100 个消费组从 同一个主题 和 同一个分区 读取,那基本上是从同一台计算机读取,因为我们只允许从分区读取领导者并且无法从分区副本中读取,那么 Kafka 是如何扩展这种读取负载的呢?
它是如何实现并行的?它只是在同一台机器上产生许多线程和进程来同时处理所有消耗吗?这种方法如何横向扩展?
谢谢
【问题讨论】:
-
Kafka 并不是要这样使用的,即单主题单分区方式的生产/消费。它通过分区来“扩展”,如果您不倾向于使用它,它的扩展性不会很大。
标签: multithreading apache-kafka