卡夫卡制片人时间戳

时间:2017-08-25 20:31:54

标签: apache-kafka kafka-producer-api

我无法理解ProducerRecord

之前我正在构建ProducerRecord,就像这样:

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

我想另外传递时间戳,所以我决定检查文档,发现构造函数确实允许传递时间戳。但它还需要指定这样的分区:

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

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

1 个答案:

答案 0 :(得分:3)

你可以毫无问题地使用这个构造函数。您将在此构造函数中传递分区null,而DefaultPartitioner仍会关注分区程序分配。只需确定您使用的是新的KafkaProducer API。时间戳不适用于旧的基于scala的生产者。