Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 卡夫卡消费者多于分区_Java_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Java 卡夫卡消费者多于分区

Java 卡夫卡消费者多于分区,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,我看到了很多关于这个问题的问题,但我不是很确信。有没有一种方法可以让更多不同的消费者使用不同的group.id值而不是分区数? 在java代码中实现这一点是一个很好的解决方法吗?Kafka中的消费者群体是消费数据的并行方式之一。多个使用者可以加入一个使用者组,这样每个使用者都可以使用来自Kafka主题不同分区的数据 除了上述功能外,卡夫卡还可以使用Group.id跟踪特定群体的活跃消费者 因此,拥有多于分区的使用者是无效的,因为每个分区只由使用者组中的一个使用者使用,以维持所使用消息的总顺序Ka

我看到了很多关于这个问题的问题,但我不是很确信。有没有一种方法可以让更多不同的消费者使用不同的
group.id
值而不是分区数?
在java代码中实现这一点是一个很好的解决方法吗?

Kafka中的消费者群体是消费数据的并行方式之一。多个使用者可以加入一个使用者组,这样每个使用者都可以使用来自Kafka主题不同分区的数据

除了上述功能外,卡夫卡还可以使用
Group.id
跟踪特定群体的活跃消费者

因此,拥有多于分区的使用者是无效的,因为每个分区只由使用者组中的一个使用者使用,以维持所使用消息的总顺序Kafka只提供所有分区的总排序,而不是维护每个分区的排序。


但是,您仍然可以有多个消费者组使用同一主题,这更像是发布/订阅,而不是点对点。

如果您有不同的组id,则分区不会分配给同一消费者组

基本上,如果您有N个分区和M个不同的组ID,那么最多可以有N*M个消费者线程从该主题进行轮询。再多的话,你就超额订阅了某个特定的群组