[英]How to Query kafka for latest offset / partition /timestamp for latest message for given key in a topic
如何查询 kafka 并获取给定主题和消息键的最新消息的时间戳/偏移量/分区?
我们的应用程序在 golang 和 java 中。 但是,欢迎任何解决方案。 提前致谢。
消费者不能过滤或只接收来自主题的一些消息。 消费者将按顺序获取消息。
充其量我们可以应用一些过滤器来确定特定的分区。 但是在该分区内,您必须出队才能获得坐标
如果您正在寻找特定的密钥,则必须使消息出列,然后在客户端应用过滤器。 对于 ConsumerRecord,您可以获取偏移量、分区等。
一个标准的方法是让消费者在表中写入消息的键和坐标,这也是您可能想要考虑的事情。
除非您构建 KTable 并在 Kafka Streams / KsqlDB 中使用交互式查询,否则您无法通过键查询 Kafka。
否则,您可以为主题的键计算分区,并使用 Kafka 二进制文件中包含的GetOffsetShell
java CLI 工具获取该分区的最新偏移量,或者在将消费者分配给该分区后通过代码在那里seek
消费者。
如果您需要从 kafka 频繁查找键,最好将数据消费到实际的键值存储或数据库中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.