So verbinden Sie Kafka mit Camel Spring Boot
Welche Möglichkeiten habe ich, um Kafka mit Spring Boot Camel zu verbinden?
Ich verwende ActiveMQ Artemis und Camel, um JMS / MQTT- und REST-Routen zu / von Clients zu erstellen. Ich möchte diesem Duo Kafka hinzufügen, um Daten (Video + Audio, Dateien / Text) zu streamen / auszutauschen.
Bisher habe ich die Kafka Confluent Platform (kostenlose Testversion) heruntergeladen und teste, was sie bieten. In Confluent Platform sehe ich, dass es möglich ist, Konnektoren als "Plugins" hinzuzufügen. Ich gehe davon aus, dass ich auf diese Weise einen Camel-Konnektor hinzufügen kann, aber das scheint mir eine schlechte Lösung zu sein, da ich gerne mit den Routen spielen und sehen möchte, was sich unter der Haube befindet, und hier sehe ich nicht, dass dies möglich ist, oder irre ich mich?
Eine andere Option, an die ich denke, ist, Apache Kafka, Zookeeper, herunterzuladen, Kafka Spring Boot-Abhängigkeit zu Camel hinzuzufügen pom.xmlund dann Camel-Routen wie in den Beispielen hier zu erstellen . Bin ich auf dem richtigen Weg?
Antworten
Kafka-Broker
Wenn Sie herumspielen möchten, empfehle ich, Kafka (es bringt auch Zookeeper) auf Ihrem Entwicklungscomputer zu installieren . Es ist am einfachsten, einen Paketmanager für Ihr Betriebssystem zu verwenden. Wenn Sie beispielsweise unter Windows arbeiten, können Sie Scoop installieren .
Dann können Sie die aktuelle Version von Plain Kafka (keine konfluente Plattform) mit einem Einzeiler installieren:
scoop install kafka
Nach der Installation können Sie zuerst zookeeper und dann kafka mit den bereitgestellten bat / sh-Skripten im bin-Ordner starten .
Kamel
In Ihrem Camel-Projekt (egal ob Spring Boot oder nicht) müssen Sie Ihren Abhängigkeiten nur camel-kafka hinzufügen .
Der Routenendpunkt-URI für einen Kafka-Broker, der auf Ihrem lokalen Computer ausgeführt wird, lautet
kafka:[topic-name]?brokers=localhost:9092
Sie können solche URIs für Consumer ( from("kafka:...")) oder Producer ( .to("kafka:...")) verwenden.