我计划写一篇关于根据标准搜索消息的博客。我觉得这个领域缺乏工具/框架,而这是任何 Kafka 运营团队/开发团队的例行活动。
我在 UI 中研究的第一个选项。大多数基于 UI 的 kafka 工具无法很好地搜索大型主题,或者至少是我见过的任何主题。
然后,如果我们可以使用基于 cli 的工具,例如 kcat 或 kafka-*-consumer,它们可以扩展到一定程度,但缺乏广泛的搜索功能。
这些让我开始考虑使用 kafka 连接器添加过滤器 SMT 或者可能使用 KSQL。或者用自己喜欢的语言编写完全本机的开发。
当然,我们可以将消息转储到存储桶或其他东西中,然后在此基础上进行搜索。
我读过 Conduktor 提供了一些使用 SQL 进行搜索的功能,但不确定这有多好?
向社区提出的问题 - 你们在 Kafka 中使用什么来搜索消息?我上面提到的任何一种工具..或更好的东西。
简短的回答是,Kafka 不是“大海捞针”搜索的合适工具。没有索引,您需要扫描整个主题(除非您可以预先计算分区)并且必须在比较之前反序列化任何记录。
如果您必须快速查找,请使用实际的索引数据库。 Elasticsearch 将是搜索任何字段的最灵活的选项。