(一)生產者生成數據的數據,按自定義key作hashcode進行分區bash
1.Kafka中能夠將Topic從物理上劃分紅一個或多個分區(Partition)ide
每一個分區在物理上對應一個文件夾,以"topicName_partitionIndex"方式命名spa
文件夾下存儲這個分區的全部消息(.log)和索引(.index)文件code
# 例如Topic:test0320,使用了3個分區,2個副本 186 187 188 ---------- ---------- ---------- test0320-0 test0320-0 test0320-1 test0320-2 test0320-1 test0320-2
2.生產者在生產數據的時候,能夠爲每條消息自定義Key規則,這樣消息被髮送到broker時,會根據分區規則選擇被存儲到哪個分區中索引
3.分區規則就是實現了kafka.producer.Partitioner接口的類接口