当我在Kafka中使用消息时,如何知道何时生成/创建此消息?
There is no created method in MessageAndMetadata.
如何在必要时设置卡夫卡的偏移量?我更喜欢按代码或命令行设置。
感谢。
答案 0 :(得分:0)
Apache Kafka 0.7或0.8目前没有按消息时间戳,但它会很方便。
Offset API中存在基于时间的偏移量查找:
时间 - 用于在特定时间(ms)之前询问所有消息。有两个特殊值。指定-1以接收最新的偏移(即下一个消息的偏移)和-2以接收最早的可用偏移。请注意,因为偏移是按降序拉动的,所以要求最早的偏移将始终返回单个元素。
它依赖于代理上的主题+分区段文件的文件系统ctime,因此它有点粗糙(取决于文件轮换间隔等),并且在复制的情况下可能是完全不正确的(复制的时间戳而不是创建原始段时。)
解决方案是将消息创建时间嵌入到消息本身中。