Kafka 的分区策略有哪些?

所谓分区策略就是决定生产者将消息发送到哪个分区的算法。

  1. 轮询策略:默认的分区策略,非常优秀的负载均衡表现,它总是能保证消息最大限度地被平均分配到所有分区上;

  2. 随机策略:实现随机策略版的 partition 方法;

  3. 按消息键保序策略:也称 Key-Ordering 策略,可以保证同一个 Key 的所有消息都进入到相同的分区里,由于每个分区下的消息处理是有顺序的,所以称之为消息键保序策略;

  4. 自定义分区策略:在编写生产者程序时,你可以编写一个具体的类实现org.apache.kafka.clients.producer.Partitioner 接口。这个接口也很简单,只定义了两个方法:partition() 和 close(),通常只用实现 partition() 方法即可。同时还需要设置 partitioner.class 参数为你自己实现类的全限定类名

发表评论

后才能评论