multithreading - Kafka 高级消费者 : Can partitions have multiple threads consuming it?

标签 multithreading apache-kafka kafka-consumer-api

来自给定分区的消息能否在多个线程上划分?假设我有一个分区和一百个进程,每个进程有一百个线程 - 来 self 的单个分区的消息是否只会提供给这 10000 个线程中的一个?

最佳答案

多个线程不能使用同一个分区,除非这些线程在不同的消费者组中。尽管您有很多空闲消费者,但只有一个线程会使用来自单个分区的消息。

分区数是Kafka中并行的单位。要让多个消费者消费同一个分区,你必须增加主题的分区数量,直到达到你想要达到的并行度,或者将每个线程放入单独的消费者组,但我认为后者是不可取的。

关于multithreading - Kafka 高级消费者 : Can partitions have multiple threads consuming it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29876436/

相关文章:

asynchronous - 具有异步 goroutines 的 Kafka 消费者

apache-kafka - kafka 本地状态存储/变更日志中的保留时间

java - 无法按需从 Kafka 读取记录

apache-kafka - Kafka Java API偏移量操作说明

java - Kafka - 在 Java 中聆听主题的比 poll() 更好的替代方法是什么?

mysql - 使用连接池处理事件记录超时的正确方法是什么?

java - 我想运行此代码而不创建类(对象)的实例。是否可以?为什么不?

apache-kafka - 卡夫卡消费者寻求开始

c++ - 从 C++ 中的多个线程调用 Qt 中小部件类的信号函数是否安全?

java - 在 java 中列出文件时实现超时