Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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 ApacheKafka多个使用者实例_Apache Kafka - Fatal编程技术网

Apache kafka ApacheKafka多个使用者实例

Apache kafka ApacheKafka多个使用者实例,apache-kafka,Apache Kafka,我有一个消费者应该阅读某个主题的消息。该消费者实际上读取消息并将其写入时间序列数据库。我们有时间序列数据库的多个实例作为集群在多台物理机器上运行 我们的计划是在所有运行时间序列服务的机器上部署使用者。因此,如果我有5个运行时间序列服务的节点,我将为每个节点安装一个使用者实例。所有这些使用者实例都属于同一使用者组。因此,在图片中,设置如下所示: 如您所见,生产者P1和P2写入卡夫卡主题的2个分区,即分区1和分区2。然后,我有4个时间序列服务实例,其中每个实例运行一个使用者。我应该如何正确地使用我

我有一个消费者应该阅读某个主题的消息。该消费者实际上读取消息并将其写入时间序列数据库。我们有时间序列数据库的多个实例作为集群在多台物理机器上运行

我们的计划是在所有运行时间序列服务的机器上部署使用者。因此,如果我有5个运行时间序列服务的节点,我将为每个节点安装一个使用者实例。所有这些使用者实例都属于同一使用者组。因此,在图片中,设置如下所示:

如您所见,生产者P1和P2写入卡夫卡主题的2个分区,即分区1和分区2。然后,我有4个时间序列服务实例,其中每个实例运行一个使用者。我应该如何正确地使用我的消费者进行阅读,以使我的时间序列数据库中不会出现重复的消息

编辑:在阅读卡夫卡文档后,我发现了以下两种说法:

If all the consumer instances have the same consumer group, then this works just like a traditional queue balancing load over the consumers.

If all the consumer instances have different consumer groups, then this works like publish-subscribe and all messages are broadcast to all consumers.

在我上面的例子中,它的行为就像一个队列?我的理解正确吗?

如果所有消费者都属于一个组(具有相同的groupId),那么kafka topic将作为队列为您服务

重要提示:没有理由让使用者多于分区,因为使用者(开箱即用的kafka使用者)是按分区缩放的