【问题标题】:What is the purpose of timestamp in kafka ProducerRecordkafka ProducerRecord中时间戳的目的是什么
【发布时间】:2021-10-29 18:28:35
【问题描述】:

我们可以为 kafka ProducerRecord 构造函数指定一个时间戳。

public ProducerRecord(String topic, Integer partition, Long timestamp, K key, V value, Iterable<Header> headers)

这个时间采样的预期用途是什么?它是否与消息一起传输到 kafka 代理?

【问题讨论】:

    标签: apache-kafka kafka-producer-api


    【解决方案1】:

    该记录还具有关联的时间戳。如果用户没有提供时间戳,生产者将用当前时间标记记录。 Kafka最终使用的时间戳取决于为主题配置的时间戳类型。

    1. 如果主题配置为使用CreateTime,则生产者记录中的时间戳将由代理使用。
    2. 如果主题配置为使用LogAppendTime,则当代理将消息附加到其日志时,生产者记录中的时间戳将被代理覆盖为代理本地时间。

    以上两种情况,实际使用的时间戳都会在RecordMetadata中返回给用户

    Reference - kafka.apache.org

    【讨论】:

      猜你喜欢
      • 2016-06-29
      • 2021-08-17
      • 2014-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      相关资源
      最近更新 更多