Apache Kafka

Schulung / Webinar

Die Messaging Plattform Kafka wurde für einen hohen Durchsatz, geringe Verzögerungen und größte Datenmengen ursprünglich beim Social Media Dienst LinkedIn entwickelt. Die Anwendungsgebiete von Kafka sind Messaging, Storage und Streaming. Kafka bietet Lösungen für Probleme konventioneller Messaging Middleware wie zum Beispiel das erneute Lesen bereits empfanger Nachrichten. Für die Realisierung von Microservices bietet sich Kafka als leistungsfähiger Event Bus an.

Im Seminar werden Konzepte und Features wie z.B. Publish/Subscribe, Compaction, Replikation und Partitionierung vorgestellt. In zahlreichen Übungen hast du die Gelegenheit Erfahrung mit Kafka für die Praxis aufzubauen.

Einführung

  • Batching & Streaming
  • Real-Time Data Feeds
  • Anwendungsgebiete: Tracking, Monitoring, Logging, Statistik & Stream Processing

Architektur

  • Persistenz
  • HD oder SSD?
  • Caching im Memory und Pagecache
  • Event Sourcing mit Kafka

Messaging mit Kafka

  • Erstellen von Producer und Consumer mit Java
  • 1:1 Queueing und 1:n Publish/Subscribe

Clustering

  • Clustering Grundlagen: Verfügbarkeit, Ausfallsicherheit, Lastverteilung und Skalierbarkeit
  • Skalierung in der Z-Achse: Partioning
  • Der Unterschied zwischen Partioning und Replication
  • Die Zookeeper Registry
  • Aufbau eines Clusters
  • Loadbalancing & Heartbeats
  • Replication & Fault Tolerance
  • Was passiert beim Ausfall eines Knotens im Cluster?
  • Wie kann ein Knoten wieder in den Cluster integriert werden?

Stream Processing

  • Kurze Einführung in das Streamprocessing
  • Was ist ein Stream?
  • Java 8 Grundlagen: Lambdas
  • Kafka Streams
  • Beschreiben von Transformationen mit der KStream DSL

Kafka und Apache Spark

  • Kafka mit Spark verbinden
  • Stream Processing mit Spark

Kafka Connect

  • Import und Export von Daten mit Kafka Connect

Sicherheit

  • Garantien für Reihenfolge und Ausfallsicherheit
  • Machs nochmal Sam: Retries
  • Verschlüsselte Verbindungen mit SSL/TLS

Betrieb

  • Automatische Bereinigung des Logs
  • Limitieren mit Quotas
  • Konfiguration

Performanz Tuning

  • Kompression von Nachrichten mit ZIP
  • Batching: Wie finde ich die optimale Batch-Größe?
  • Optimale Anzahl von Knoten im Cluster

Administration

  • Anlegen und Ändern von Topics
  • Platz sparen mit Log Compaction
  • Skalierung einer Clusters

Weitere Themen

  • Projekte des Kafka Ecosystems

Zielgruppe

Administratoren, Entwickler und Software Architekten

Vorkenntnisse

IT Grundlagen, Grundlagen in der Java Programmierung

Dauer

2 Tage

Kursunterlage

Handouts aller in der Schulung präsentierten Folien sowie ein Skript mit Übungen.

Infos zu Firmenseminaren

Apache and Apache Kafka sind eingetragen Warenzeichen der Apache Software Foundation.

Unsere Trainer auf YouTube