0
votes

Sujet de Kafka à plusieurs topics de Kafka Dispatcher (même cluster)

Mon cas d'utilisation est la suivante: J'ai un sujet de kafka A avec des messages "logiquement" appartenant à différents "services", je ne traite pas ni le système n'envoie les messages à a .

Je veux lire de tels messages de A et l'envoyer à un ensemble de sujets de service sur le même cluster (appelons-les a_1, ..., a_n ), basé sur une colonne décrivant le service (le format est le style CSV, mais cela n'a pas d'importance).

L'ensemble des services est statique, je n'ai pas à gérer l'addition / l'enlèvement pour le moment.

J'espérais utiliser kafkaconnect pour effectuer une telle tâche mais, surprenante, il n'y a pas de source de Kafka / éviers (je ne trouve pas les billets, mais ils ont été rejetés).

J'ai vu midypaker2 mais cela ressemble à une overcilleuse pour mon article (simple).

Je sais aussi kafkastreams mais je préfère ne pas écrire et gérer le code juste pour cela.

My question est: y a-t-il un moyen d'atteindre ce sujet d'expédition avec des outils natifs de Kafka sans écrire un consommateur de Kafka / producteur moi-même?

PS: Si quelqu'un pense que Midressaker2 pourrait être un bon ajustement que je suis intéressé, je ne connais pas très bien l'outil très bien.


0 commentaires

3 Réponses :


1
votes

Mirror Maker est pour faire ... Mirrorage. C'est utile lorsque vous souhaitez refléter un cluster d'un centre de données à l'autre avec les mêmes sujets. Votre cas d'utilisation est différent.

KAFKA Connect est de synchroniser différents systèmes (données de bases de données par exemple) via des sujets de Kafka, mais je ne le vois pas pour ce cas d'utilisation non plus.

J'utiliserais une application de flux de Kafka pour cela.


0 commentaires

1
votes

Quant à mes connaissances, il n'y a pas de moyen simple de brancher des messages de sujet entrant dans une liste de sujets basés sur les messages entrants. Vous devez écrire un code personnalisé pour y parvenir.

  1. Utilisez le processeur API Reportez-vous ici
  2. Pass Liste des sujets à l'intérieur de la méthode du processeur
  3. Utilisez la logique pour identifier les sujets nécessaires à la branche
  4. Utilisez le contexte.forward pour publier un message à d'autres sujets

    contexte.forward (clé, valeur, to.child ("sujet sélectionné"))


0 commentaires

0
votes

Toutes les autres réponses ont raison, au moment de la rédaction, j'ai trouvé une solution "config-seule" dans le boîouil de Kafka.

Qu'est-ce que l'astuce a finalement été l'affaire était d'utiliser connexesh , Comme son "plugin de sortie kafka" prend en charge les variables de Jinja dans Topic-ID paramètre.

donc une fois que vous avez le "nom de la rubrique cible" disponible dans un champ (Dites Service_Name ) C'est aussi simple que ceci: xxx


0 commentaires