2014-04-24 35 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所以它是一個位的粗(取決於文件旋轉的間隔,等等)以及在復​​制的情況下,可以是徹底不正確(複製的時間戳,而不是原始段創建時)。

解決方案是在消息本身中嵌入消息創建時間。