1.ProducerRecord 含义:
发送给Kafka Broker的key/value
值对
2.内部数据结构:
-- Topic (名字)
-- PartitionID ( 可选)
-- Key[( 可选 )
-- Value
3.生产者记录(简称PR)的发送逻辑:
<1> 若指定Partition ID,则PR被发送至指定Partition
<2> 若未指定Partition ID,但指定了Key, PR会按照hasy(key)发送至对应Partition
<3> 若既未指定Partition ID也没指定Key,PR会按照round-robin模式发送到每个Partition
<4> 若同时指定了Partition ID和Key, PR只会发送到指定的Partition (Key不起作用,代码逻辑决定)
4.生产者记录(PR)的实现:
针对3,提供三种构造函数形参:
-- ProducerRecord(topic, partition, key, value)
-- ProducerRecord(topic, key, value)
-- ProducerRecord(topic, value)
Kafka的ProducerRecord定义详细解析,包括Topic、PartitionID、Key和Value的使用。当指定Partition ID时,消息直接发送至该Partition;若只设定Key,则按Key的hash值确定Partition;若两者都未指定,采用轮询方式分发;若同时指定Partition ID和Key,Partition ID优先,Key无效。
403

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



