„Kafka ist eine Bosna mit einer Käsekrainer“. Oder doch ein deutschsprachiger Schriftsteller der sich in riesige Käfer verwandeln konnte? Immerhin kommen Zoowärter vor. Und was haben die Apachen damit zu tun? Fragen über Fragen. Antworten liefert „Old Firehand“ Simon Streubel, der von seinem ganz besonders käferlosen „Simons Traum“ erzählt und Hans und Stefan durch Begrifflichkeiten und Funktionsweisen führt. Prostmahlzeit.
Schaunotizen
- [00:00:26] Kafka
- Kafka ist ein Distributed Publish-Subscribe Message Broker, der ursprünglich von LinkedIn entwickelt wurde und 2014 bei Apache untergekommen ist. Das System liefert einen bequemen weg von Daten auf der einen Seite rein (Producer), und optimiert auf der anderen Seite wieder raus (Consumer). Die Verteilung sorgt für hohe Skalierbarkeit und ist daher super für Microservices geeignet. Der Zookeeper kümmert sich darum, dass alle Knoten und Quellen miteinander auch sprechen können. Ein eigenes Datenformat wie AVRO hilft zusätzlich dabei Daten sauber zu serialisieren. Die entstehenden Datenströme werden bequem mit reaktiven Stream APIs konsumiert. Zuviel an Begrifflichkeiten? Die Lücken im Text füllt unsere aktuelle Episode. Die Löcher in den Bäuchen die österreichische Kafka. Hans verlost dazu sogar etwas am Ende der Revision.
- Kafka Tool
- Das Kafka Tool ist ein Tool für Kafka. In der Form einer grafischen Benutzeroberfläche.
- Sinek
- Sinek bringt Kafka nach Node.js.
Kommentare
Elmar #
Geschrieben am 11.09.2018 um 13:40
Hallo,
Nach meiner Erfahrung ist ein Development-Setup mit docker für Kafka etwas aufwändiger als z.B. für Postgres (ich denke an die zwingenden Environment-Variablen „KAFKA_ADVERTISED_HOST_NAME“, „KAFKA_ZOOKEEPER_CONNECT“).
Ich habe stattdessen gute Erfahrung mit der confluent-cli gemacht, die seit Version 3.3 Teil der confluent patform (https://www.confluent.io/download/) ist. Konkret kann man mit einem Befehl kafka, kafka-rest, ksql — oder was auch immer man haben möchte — inklusive aller benötigten Services starten. Und mit „confluent destroy“ startet man einfach von vorne. Mehr Infos: https://www.youtube.com/watch?v=ZKqBptBHZTg
An Kafka-Tools sollte man mMn auch die Tools erwähnen, die mit Kafka selber mitkommen, z.B. kafka-console-consumer oder kafka-console-producer. Um ein bisschen mit Kafka rumzuspielen sind die ein netter Einstieg. Wenn auch das cli-Interface etwas fummelig ist.
Wer etwas unix-artiger mit Kafka arbeiten will, der fühlt sich sicher bei kafkacat (https://github.com/edenhill/kafkacat) gut aufgehoben. Damit kann man z.B. Logs nach kafka reinpipen, oder auch bei der Entwicklung in einem tmux-setup sich verschiedene Topics anzeigen.
Und noch etwas klugscheißen kann ich mir nicht verkneifen: librdkafka wurde nicht von Blizzard geschrieben, sondern eben von dem Entwickler von kafkacat. Was aber von Blizzard kommt ist node-rdkafka, low-level-bindings an librdkafka.
Günther #
Geschrieben am 19.09.2018 um 07:43
Schöne Folge,
Ich würde mich auch total über ne „Elixir“-Folge freuen!
Schepp #
Geschrieben am 23.09.2018 um 10:07
Hallo Günther, danke für Deinen Input. Das sollten wir hinkriegen!
RSS-Feed zu diesem Beitrag
Kommentare sind für diesen Beitrag geschlossen.