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_Partitioner - Fatal编程技术网

Apache kafka 当使用自定义分区器时,如何避免Kafka代理的输入流量增加?

Apache kafka 当使用自定义分区器时,如何避免Kafka代理的输入流量增加?,apache-kafka,partitioner,Apache Kafka,Partitioner,为了平滑所有Kafka分区之间的通信,我尝试在我的生产者上创建一个自定义分区器(扩展Kafka.producer.partitioner),以替换每10分钟只更改一次分区的默认分区器 我的分区程序使用一个简单的循环算法,每200条消息从一个分区切换到另一个分区。由于生产者配置了batch.num.messages=200和producer.type=async,因此每200条消息(也就是每一生产者的请求)的流量就应该从一个分区跳到另一个分区。据我所知,考虑到请求的数量,这不应该修改代理的输入流量

为了平滑所有Kafka分区之间的通信,我尝试在我的生产者上创建一个自定义分区器(扩展Kafka.producer.partitioner),以替换每10分钟只更改一次分区的默认分区器

我的分区程序使用一个简单的循环算法,每200条消息从一个分区切换到另一个分区。由于生产者配置了batch.num.messages=200和producer.type=async,因此每200条消息(也就是每一生产者的请求)的流量就应该从一个分区跳到另一个分区。据我所知,考虑到请求的数量,这不应该修改代理的输入流量

但是,在一些测试之后,当使用这个自定义分区器时,请求量似乎乘以了2

为甚么我们要增加呢?有没有办法解决这个问题,或者至少有办法限制流量的增加

谢谢你的帮助


注意:我使用的是Kafka 0.8.2-beta,是scala 2.10编码的制作人。我能看看你的自定义分区器吗?类似的东西