Schulung: Apache Kafka

Die Streaming 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 und mit mit kurzen Code Beispielen demonstriert.

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

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

Clustering

  • Clustering Grundlagen: Verfügbarkeit, Ausfallsicherheit, Lastverteilung und Skalierbarkeit
  • 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

Konfiguration

  • Automatische Bereinigung des Logs
  • Limitieren mit Quotas

Performanz Tuning

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

Administration

  • Anlegen und Ändern von Topics
  • Log Compaction
  • Skalierung

Weitere Themen

  • Projekte des Kafka Ecosystems

Zielgruppe

Administratoren, Entwickler, 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.

Apache and Apache Cassandra sind eingetragen Warenzeichen der The Apache Software Foundation.

* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer

Überblick

Übungsanteil: 70 %
Schwierigkeitsgrad: mittel

15. - 16.2.18Bonn
29. - 30.5.18Bonn

Teilnahme: 1.380,- €*