2

为了平滑所有 Kafka 分区之间的流量,我尝试在我的生产者上制作一个自定义分区器(扩展 kafka.producer.Partitioner),以替换每 10 分钟仅更改一次分区的默认分区器。

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

但是,经过一些测试,使用此自定义分区器时,请求量似乎乘以 2。

为什么我们会有这种增长?有没有办法解决这个问题,或者至少有办法限制流量增加?

谢谢你的帮助。

注意:我使用的是 Kafka 0.8.2-beta,生产者在 scala 2.10 中编码

4

0 回答 0