Existe-t-il un moyen élégant d'interroger un sujet Kafka pour un enregistrement spécifique? L'API REST que je suis en train de créer obtient un ID et doit rechercher les enregistrements associés à cet ID dans une rubrique Kafka. Une approche consiste à vérifier chaque enregistrement du sujet via un consommateur personnalisé et à rechercher une correspondance, mais j'aimerais éviter la surcharge liée à la lecture d'un tas d'enregistrements. Kafka dispose-t-il d'une capacité de filtrage rapide intégrée?
Le seul moyen rapide de rechercher un enregistrement dans Kafka (pour trop simplifier) est par partition et offset. La nouvelle classe de producteurs peut renvoyer, via des futures, la partition et le décalage dans lesquels un message a été écrit. Vous pouvez utiliser ces deux valeurs pour récupérer très rapidement le message.
Ainsi, si vous créez l'ID de la partition et le décalez, vous pouvez implémenter votre requête rapide. Sinon, pas tellement. Cela signifie que l'ID d'un objet ne fait pas partie de votre modèle de données, mais est généré par le code Kafka-knowledgable.
Peut-être que cela fonctionne pour vous, peut-être que non.
C’est peut-être un peu tard pour vous, mais cela vous aidera à mieux voir cette question. Maintenant, il ya KSQL, kafka sql est un moteur de streaming SQL open-source.