2017-10-15 3 views
0

Quel serait le meilleur moyen de lire une liste finie d'enregistrements connexes à partir d'un sujet kafka? Par exemple, les résultats de la requête db contenant quelques centaines d'enregistrements. Comment saurais-je la "fin"? Drapeau simple dans l'en-tête?Kafka lire liste finie du sujet

Répondre

0

Kafka n'est pas un bon choix pour de tels cas d'utilisation. Vous devez vous rappeler les décalages de début et de fin des messages correspondant à la requête de base de données et vous devez vous assurer que ces messages vont à une partition unique, sinon ils peuvent être ajoutés en dehors des ordres et encore plus d'états à retenir. Si vous utilisez un sujet exclusif pour chaque requête, cela fonctionnera mieux. Kafka n'est pas un bon choix pour créer et supprimer des sujets à la volée. Au lieu de cela, une liste Redis sera un bien meilleur choix pour le cas d'utilisation que vous évoquez.

+0

Merci pour l'info. J'évalue kafka vs rabbitmq pour un projet à venir. J'ai regardé ksql mais ça dit sur le viseur github "dev only". Il semble que la suggestion de Nipun pourrait être la voie à suivre. – user2824203

1

On dirait que vous essayez d'interroger Kafka. Dans ce cas, vous pouvez essayer KSQL (https://github.com/confluentinc/ksql). Il vous permet de créer des requêtes de type SQL comme SELECT * FROM mytopic WHERE régionid LIKE '% _8' OU regionid LIKE '% _9' LIMIT 100;