前言
分区是kafka中一个很重要的部分,合理使用分区,可以提升kafka的整体性能
kafka分区好处
1、便于合理使用存储资源,每个Partition在一个Broker上存储,可以把海量的数据按照分区切割成一块一块数据存储在多台Broker上。合理控制分区的任务,可以实现负载均衡的效果
2、提高并行度,生产者可以以分区为单位发送数据;消费者可以以分区为单位进行消费数据
3、在某些情况下,可以实现顺序消费
生产者发送消息的分区策略
我们在代码中找到ProducerRecord 这个类,可以看到有很多构造方法,即我们在调用API进行消息发送时可以选择的各种send消息的方式
下面结合这个类的几个构造方法,对生产者发送消息分区策略做简单的说明

1、默认情况下,kafka生产端采用的是DefaultPartitioner
既没有partition值又没有key值的情况下,Kafka采用Sticky Partition(黏性分区器),会随机选择一个分区,并尽可能一直使用该分区,待该分区的batch已满或者已完成,Kafka再随机一个分区进行使用(和上一次的分区不同)
本文介绍了Kafka生产者发送消息时的分区策略,包括默认的黏性分区器、指定分区、根据key进行分区以及自定义分区的实现。通过实例代码展示了如何根据不同的场景选择合适的分区策略,以实现数据的有序存储和负载均衡。
订阅专栏 解锁全文

1376

被折叠的 条评论
为什么被折叠?



