Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
Apache kafka kafka consumer从单个分区向消费者分发消息_Apache Kafka_Kafka Consumer Api_Spring Kafka_Confluent Platform - Fatal编程技术网

Apache kafka kafka consumer从单个分区向消费者分发消息

Apache kafka kafka consumer从单个分区向消费者分发消息,apache-kafka,kafka-consumer-api,spring-kafka,confluent-platform,Apache Kafka,Kafka Consumer Api,Spring Kafka,Confluent Platform,我有四个在集群下运行的应用程序实例,这意味着我在一个消费者组下有四个消费者。只有一个主题有100个分区。现在,我需要使用所有四个使用者从特定分区读取唯一的消息。基本上,我需要将消息从特定分区分发给这四个使用者。如果我使用subscribe则我无法控制从特定分区读取,如果我使用assign则我将在所有四个使用者中接收相同的消息 我同意通过Kafka是不可能的,碰巧有其他解决方案可以达到同样的效果。正如您已经提到的,不可能“将消息从特定分区分发给这四个消费者”,因为一个Kafka分区最多只能由一个消

我有四个在集群下运行的应用程序实例,这意味着我在一个消费者组下有四个消费者。只有一个主题有100个分区。现在,我需要使用所有四个使用者从特定分区读取唯一的消息。基本上,我需要将消息从特定分区分发给这四个使用者。如果我使用subscribe则我无法控制从特定分区读取,如果我使用assign则我将在所有四个使用者中接收相同的消息


我同意通过Kafka是不可能的,碰巧有其他解决方案可以达到同样的效果。

正如您已经提到的,不可能“将消息从特定分区分发给这四个消费者”,因为一个Kafka分区最多只能由一个消费群体中的一个消费者使用

中给出了参考信息:“这是通过将主题中的分区分配给使用者组中的使用者来实现的,这样每个分区就只由组中的一个使用者使用。”

作为替代方案,我建议执行以下操作:
让您的KafkaProducer将感兴趣的数据生成到一个单独的主题中,并使用任意多的分区(以提高吞吐量)。然后有一个专用的应用程序,其中使用者线程的数量与该主题的分区相匹配,并从中处理数据。

正如您已经提到的,不可能“将消息从特定分区分发给这四个使用者”因为一个Kafka分区最多只能由一个消费组的一个消费者使用

中给出了参考信息:“这是通过将主题中的分区分配给使用者组中的使用者来实现的,这样每个分区就只由组中的一个使用者使用。”

作为替代方案,我建议执行以下操作: 让您的KafkaProducer将感兴趣的数据生成到一个单独的主题中,并使用任意多的分区(以提高吞吐量)。然后有一个专用的应用程序,其中使用者线程的数量与该主题的分区相匹配,并从那里处理数据