来自给定分区的消息能否在多个线程上划分?假设我有一个分区和一百个进程,每个进程有一百个线程 - 来 self 的单个分区的消息是否只会提供给这 10000 个线程中的一个?
最佳答案
多个线程不能使用同一个分区,除非这些线程在不同的消费者组中。尽管您有很多空闲消费者,但只有一个线程会使用来自单个分区的消息。
分区数是Kafka中并行的单位。要让多个消费者消费同一个分区,你必须增加主题的分区数量,直到达到你想要达到的并行度,或者将每个线程放入单独的消费者组,但我认为后者是不可取的。
关于multithreading - Kafka 高级消费者 : Can partitions have multiple threads consuming it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29876436/