2017-11-15 4 views
1

Ich bin ziemlich neu in Kafka Streams. Im Moment versuche ich die Grundprinzipien dieses Systems zu verstehen.Kafka Streams Anwendungsbereitstellung - eingebettet vs Application Management Frameworks

Dies ist ein Zitat aus dem folgenden Artikel https://www.confluent.io/blog/introducing-kafka-streams-stream-processing-made-simple/

You just use the library in your app, and start as many instances of the app as you like, and Kafka will partition up and balance the work over these instances. 

Im Moment ist es mir nicht klar ist, wie es funktioniert. Wo wird die Geschäftslogik (Rechenaufgaben) von Kafka Streams ausgeführt? Es wird innerhalb meiner Anwendung ausgeführt, oder es ist nur ein Client für den Kafka-Cluster und dieser Client bereitet nur Aufgaben vor, die auf dem Kafka-Cluster ausgeführt werden. Wenn nein, wie kann ich die Rechenleistung meiner Kafka Streams-Anwendung richtig skalieren? Ist es möglich, innerhalb von Garn oder so etwas auszuführen? Auf diese Weise ist es eine gute Idee, die Kafka Streams-Anwendung als eine eingebettete Komponente der Kernanwendung (in unserem Fall eine Webanwendung) zu implementieren oder sie sollte als separater Dienst implementiert und auf Yarn/Mesos verteilt werden (wenn es möglich ist)) getrennt von der Haupt-Webanwendung? Wie bereitet man die Kafka Streams-Anwendung vor, damit sie mit den Anwendungsverwaltungs-Frameworks von Yarn/Mesos bereitgestellt werden kann?

Antwort

2

Sie streamen Verarbeitungscode läuft in Ihren Anwendungen - es ist nicht läuft im Kafka-Cluster.

Sie können wie auch immer Sie möchten: Garn/Mesos/kubernetes/WAR/Chef was auch immer. Die Idee besteht darin, sie direkt in Ihre Anwendung einzubetten, um die Einrichtung eines Verarbeitungsclusters zu vermeiden.

Sie müssen Kafka Streams nicht für eine Bereitstellungsmethode vorbereiten - es ist völlig unabhängig davon, wie es bereitgestellt wird. Für Yarn/Mesos würden Sie es wie jede andere Java-Anwendung innerhalb des Frameworks bereitstellen.

+0

Danke für Ihre Antwort, jetzt ist es klar – alexanoid