Comment connecter Kafka avec Camel Spring Boot
Quelles options ai-je pour connecter Kafka à Spring Boot Camel?
J'exécute ActiveMQ Artemis et Camel pour créer des routes JMS / MQTT et REST vers / depuis les clients. Je voudrais ajouter Kafka à ce duo pour diffuser / échanger des données (vidéo + audio, fichiers / texte).
Jusqu'à présent, j'ai téléchargé Kafka Confluent Platform (essai gratuit) et je teste ce qu'ils offrent. Dans Confluent Platform, je vois qu'il est possible d'ajouter des connecteurs en tant que "plugins". Je suppose que je peux ajouter un connecteur Camel mais cela me semble une mauvaise solution car je voudrais jouer avec les itinéraires et voir ce qu'il y a sous le capot et ici je ne vois pas que c'est possible, ou ai-je tort?
Une autre option à laquelle je pense est de télécharger Apache Kafka, Zookeeper, d'ajouter la dépendance de Kafka Spring Boot à Camel pom.xml, puis de créer des routes Camel comme dans les exemples ici . Suis-je sur la bonne voie?
Réponses
Courtier Kafka
Si vous voulez jouer, je vous recommande d' installer Kafka (il apporte également Zookeeper) sur votre machine de développement . Il est plus simple d'utiliser un gestionnaire de packages pour votre système d'exploitation. Par exemple, si vous travaillez sous Windows, vous pouvez installer Scoop .
Ensuite, vous pouvez installer la version actuelle de plain Kafka (plate-forme non confluente) avec une seule ligne:
scoop install kafka
Après l'installation, vous pouvez démarrer d'abord zookeeper, puis kafka avec les scripts bat / sh fournis dans le dossier bin.
chameau
Dans votre projet Camel (peu importe si Spring Boot ou non), il vous suffit d'ajouter camel-kafka à vos dépendances.
L' URI du point de terminaison d'itinéraire pour un courtier Kafka s'exécutant sur votre machine locale est
kafka:[topic-name]?brokers=localhost:9092
Vous pouvez utiliser ces URI pour consommateur ( from("kafka:...")) ou producteur ( .to("kafka:..."))