生产商的Kafka时间戳

y0u0uwnf  于 2023-03-11  发布在  Apache
关注(0)|答案(1)|浏览(193)

如果在创建ProducerRecord时没有提供时间戳,Kafka客户端库将为您提供一个时间戳:
记录也有一个相关的时间戳。如果用户没有提供时间戳,生产者将用它的当前时间标记记录。Kafka最终使用的时间戳取决于为主题配置的时间戳类型。
但是,该时间戳是设置为 * 早 *(即,在sendAsync返回之前),反映消息的本地入队时间,还是设置为晚(即,大约在消息到达队列头并即将发送时)?
也就是说,时间戳是否包括(先于)排队时间?

wydwbb8l

wydwbb8l1#

它应该在构造new ProducerRecord时设置,而不是通过send/sendAsync,但它也取决于代理/主题配置。
对于经纪人-
log.message.timestamp.type定义消息中的时间戳是消息创建时间还是日志附加时间。值应为CreateTimeLogAppendTime
默认值-CreateTime
这意味着如果没有提供,它将由生产者设置。
但如果这是LogAppendTime,则在生产者发送记录之后,该时间戳将在服务器端被覆盖。

相关问题