Kafka 生产者时间戳

Kafka Producer Timestamp

我无法理解 ProducerRecord

之前我是这样构造 ProducerRecord 的:

new ProducerRecord<String, String>("my-topic", "key", "value")

我想额外传递一个时间戳,所以我决定查看文档,发现构造函数确实允许传递一个时间戳。但它也需要像这样指定一个分区:

new ProducerRecord(String topic,
              Integer partition,
              Long timestamp,
              K key,
              V value)

我对将什么作为分区参数传递感到困惑,因为我使用的上一个构造函数正在为我处理它。

您仍然可以毫无问题地使用此构造函数。您将在此构造函数中传递 partition null,并且 DefaultPartitioner 仍会处理分区程序分配。只需确保您使用的是新的 KafkaProducer API。时间戳不适用于旧的基于 scala 的生产者。