【发布时间】:2013-09-16 15:29:35
【问题描述】:
有什么方法可以在 Kafka 消息有效负载中添加时间戳标头?我想检查消息何时在消费者端创建并基于此应用自定义逻辑。
编辑:
我正在尝试找到一种将一些自定义值(基本上是时间戳)附加到生产者发布的消息的方法,以便我可以在特定的持续时间内使用消息。现在 Kafka 只确保消息按照放入队列的顺序传递。但在我的情况下,先前生成的记录可能会在一定延迟后到达(因此在时间 T1 生成的消息可能具有比在稍后时间 T2 生成的偏移量为 0 的消息更高的偏移量 1)。出于这个原因,它们不会按照我在消费者端的预期顺序。所以我基本上是在寻找一种出路,以有序的方式消费它们。
当前的 Kafka 0.8 版本无法在生产者端附加“消息密钥”以外的任何其他内容,找到了一个类似的主题 here,建议在消息有效负载中对其进行编码。但是我做了很多搜索,但找不到可能的方法。
另外我不知道这种方法是否对 Kafka 的整体性能有任何影响,因为它在内部管理消息偏移量,并且从 this 页面中可以看出目前没有公开这样的 API
如果我的想法完全正确,或者有任何可能的方法,我真的很感激任何线索,我都准备试一试
【问题讨论】:
标签: message-queue apache-kafka