为了平滑所有kafka分区之间的通信,我尝试在我的producer上创建一个自定义分区器(扩展kafka.producer.partitioner),以替换每10分钟才更改一次分区的默认分区器。
我的分区器使用一个简单的循环算法,每200条消息从一个分区切换到另一个分区。由于producer配置为batch.num.messages=200和producer.type=async,因此每200条消息(也就是说,对于每个producer的请求)的流量就应该从一个分区跳到另一个分区。据我所知,考虑到请求的数量,这不应该修改代理的输入流量。
但是,在一些测试之后,当使用这个自定义分区器时,请求量似乎被乘以了2。
为什么我们会有这样的增长?有没有办法解决这个问题,或者至少有办法限制流量的增加?
谢谢你的帮助。
注意:我使用的是Kafka0.8.2-beta,用scala2.10编码
暂无答案!
目前还没有任何答案,快来回答吧!