有没有一种优雅的方式来查询Kafka主题的特定记录?我正在构建的restapi获取一个id,需要在kafka主题中查找与该id相关联的记录。一种方法是通过自定义使用者检查主题中的每个记录并查找匹配项,但我希望避免读取一堆记录的开销。Kafka有一个快速的,内置的过滤功能吗?
uhry853o1#
在kafka中搜索记录的唯一快速方法(过于简单化)是通过分区和偏移量。新的producer类可以通过futures返回写入消息的分区和偏移量。您可以使用这两个值非常快速地检索消息。因此,如果您从分区和偏移量中提取id,那么您就可以实现快速查询。否则,就没那么多了。这意味着对象的id不是数据模型的一部分,而是由kafka知识代码生成的。也许这对你有用,也许不是。
xoefb8l82#
这对你来说可能太晚了,但它会帮助其他人如何看待这个问题,现在有了ksql,kafkasql是一个开源的流式sql引擎https://github.com/confluentinc/ksql/
2条答案
按热度按时间uhry853o1#
在kafka中搜索记录的唯一快速方法(过于简单化)是通过分区和偏移量。新的producer类可以通过futures返回写入消息的分区和偏移量。您可以使用这两个值非常快速地检索消息。
因此,如果您从分区和偏移量中提取id,那么您就可以实现快速查询。否则,就没那么多了。这意味着对象的id不是数据模型的一部分,而是由kafka知识代码生成的。
也许这对你有用,也许不是。
xoefb8l82#
这对你来说可能太晚了,但它会帮助其他人如何看待这个问题,现在有了ksql,kafkasql是一个开源的流式sql引擎
https://github.com/confluentinc/ksql/