2014-04-24 33 views
0

当我在卡夫卡消费留言时,我怎么知道这个留言何时制作/创建?在Kafka留言创建时间

There is no created method in MessageAndMetadata. 

如何在需要时在卡夫卡设置偏移量?我更喜欢用代码或命令行来设置。

谢谢。

回答

0

目前在Apache Kafka 0.7或0.8中没有每个消息的时间戳,但它会很方便。

什么存在是一个基于时间偏移的查找偏移API中:

时间 - 使用的规定时间(ms)之前,要求所有邮件。有两个特殊的价值。指定-1以接收最近的偏移量(即下一个消息的偏移量)和-2以接收最早的可用偏移量。请注意,由于偏移按降序排列,因此要求最早的偏移将始终返回给您单个元素。

https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol#AGuideToTheKafkaProtocol-OffsetAPI

它依赖于在代理上的主题+分区段的文件的文件系统的ctime所以它是一个位的粗(取决于文件旋转的间隔,等等)以及在复​​制的情况下,可以是彻底不正确(复制的时间戳,而不是原始段创建时)。

解决方案是在消息本身中嵌入消息创建时间。