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处理的可伸缩性_Apache Kafka - Fatal编程技术网

Apache kafka 添加更多消费者如何提高kafka处理的可伸缩性

Apache kafka 添加更多消费者如何提高kafka处理的可伸缩性,apache-kafka,Apache Kafka,假设:我的代码使用扇出模型(单分区多使用者) 制作人将消息M1-M10插入卡夫卡 我启动消费者1(C1),它开始处理消息。在M3上的点处,我启动第二个耗电元件 消费者2(C2)现在开始处理M1,然后移动到下一条消息。与此同时,C1继续 所以C1总是引导C2,C2只是重新处理C1已经处理过的相同消息 因此,增加更多的消费者无助于提高可伸缩性,或者说看起来是这样。我一定是误解了文件 因此,增加更多的消费者无助于提高可伸缩性 这是正确的。如果有多个使用者从同一分区读取数据,则无法实现任何并行性 卡夫卡

假设:我的代码使用扇出模型(单分区多使用者)

制作人将消息M1-M10插入卡夫卡

我启动消费者1(C1),它开始处理消息。在M3上的点处,我启动第二个耗电元件

消费者2(C2)现在开始处理M1,然后移动到下一条消息。与此同时,C1继续

所以C1总是引导C2,C2只是重新处理C1已经处理过的相同消息

因此,增加更多的消费者无助于提高可伸缩性,或者说看起来是这样。我一定是误解了文件

因此,增加更多的消费者无助于提高可伸缩性

这是正确的。如果有多个使用者从同一分区读取数据,则无法实现任何并行性

卡夫卡的缩放单位是分区:

日志中的分区有多种用途。首先,它们允许日志扩展到适合单个服务器的大小之外。每个单独的分区必须适合托管它的服务器,但是一个主题可能有许多分区,因此它可以处理任意数量的数据。第二,它们作为并行的单位,在某种程度上更多地依赖于它。-

因此,为了扩展您描述的情况,您必须划分您的消费者正在阅读的主题。然后,当您可以添加消费者时,您就可以实现并行性