Kafka Kurzbeschrebung für Dummies?

Hallo,

kann mir jemand eine Kurzbeschreibung für Kafka geben?
Ggf. auch einen empfehlenswerten Link.

Danke!

Hallo,

ist Dein google kaputt? Siehe https://de.wikipedia.org/wiki/Apache_Kafka

Aber das Internet ist doch voll davon!?
Diese Google-Suche ist nur für dich bestimmt!

Gruß,

Kannitverstan

Du meinst vielleicht nicht den Schriftsteller, wenn du das im Brett ‚Programmierung‘ fragst?

Hallo,

ich probiere es mal.

Kafka ist ein Message-Bus, das heißt, es transportiert Nachrichten. Diese Nachrichten können beliebige Daten enthalten.

Bei Kafka gibt es eine Handvoll Begriffe, die man verstehen muss, um das Konzept zu kapieren. Die wichtigsten sind: Broker, Producer, Consumer und Topic.

Ein Broker ist schlicht ein System auf dem Kafka selbst läuft. Man kann Umgebungen mit nur einem Broker haben oder mit mehreren, um Ausfallsicherheit und mehr Durchsatz zu erhalten. Auf den Brokern werden die Nachrichten gespeichert.

Ein Topic kann man sich wie ein Verzeichnis vorstellen. Ein Broker kann beliebig viele solcher Topics haben. Die Nachrichten in unterschiedlichen Topics können unterschiedliche Format haben. Jede Nachricht kann man sich dabei wie eine nummerierte Datei vorstellen.

Ein Producer schreibt nun Nachrichten in ein Topic. Wenn Kafka diese erhalten hat wird das quittiert und der Producer kann die Nachricht als „erfolgreich gesendet“ betrachten.

Ein Consumer ist das Gegenstück zum Producer und liest aus einem Topic. Eine der Sachen, die Kafka so praktisch macht, ist das der Consumer weiß, welches die letzte Nachricht war, die er gelesen hat (bspw. Nachricht 23). Stürzt der Consumer nun ab, oder verliert die Netzwerkverbindung, so kann er sich später einfach wieder mit Kafka verbinden und dem Broker sagen „schick mir mal alles ab Nachricht 23“. Alles was in der Zwischenzeit an Nachrichten aufgelaufen ist wird dann auf einen Schlag übertragen, bis der Consumer wieder auf dem aktuellen Stand ist.

Grundsätzlich eignet sich Kafka als „Puffer“ zwischen zwei Systemen (A und B) oder Umgebungen, die Nachrichten austauschen müssen, bei denen aber jeweils ein System (A oder B) eventuell nicht verfügbar ist.

Hoffe, das hilft dir ein wenig weiter.

Gruß,
Steve

Super, vielen Dank für deine Mühe und die prima Rückmeldung!!!
Viele Grüße