Apache Kafka ist eine leistungsstarke Messaging-Plattform, die für hohen Durchsatz, geringe Latenz und den Umgang mit großen Datenmengen optimiert wurde. Ursprünglich bei LinkedIn entwickelt, bietet Kafka innovative Lösungen für die Herausforderungen traditioneller Messaging-Systeme und fungiert als moderner Event Bus für Microservices.
In diesem Seminar bekommst du fundiertes Wissen in zentrale Konzepte wie Publish/Subscribe, Replikation und Partitionierung. Zahlreiche praktische Übungen ermöglichen es dir, das erlernte Wissen direkt in der Anwendung umzusetzen.
Einführung
- Batching & Streaming
- Unterschiede zu herkömmlichen Messaging-Systemen (z.B. JMS)
- Topics und Offset
- Anwendungsgebiete: Messaging, Datensynchronization, Streaming
Architektur
- Einblick in die Funktionsweise und Architektur von Kafka
- Persistenz: HD, SSD oder Netzwerkspeicher?
- Caching-Mechanismen: In-Memory & Pagecache
- Eventsourcing
- Datenformate und Schema-Registry
Messaging mit Kafka
- Erstellen von Producer und Consumer mit Java
- Queueing und Publish/Subscribe
Entwicklung
- Entwicklung von Consumer und Producer
- Serialisierung mit Avro, JSON oder protobuf
- Fehlerbehandung
- Transaktionssicherheit ohne Transaktionen
- Kafka Transaktionen
Clustering
- Grundlagen: Verfügbarkeit, Ausfallsicherheit, Lastverteilung und Skalierbarkeit
- Mit Partioning und Replication große Datenmengen verarbeiten
- Mit KRaft zum Konsens
- Aufbau eines Clusters
- Loadbalancing & Heartbeats
- Garantien für Reihenfolge und Ausfallsicherheit
- Replication & Fault Tolerance
- Verhalten bei Ausfall eines Knotens
- Was passiert beim Ausfall eines Knotens im Cluster?
Stream Processing
- Einführung in das Streamprocessing
- KStream, Apache Flink oder Spark?
- Wie verarbeitet man Streams?
Kafka Connect
- Import und Export von Daten mit Kafka Connect
- Kafka Connect Alternativen
Sicherheit (Optional)
- Verschlüsselte Verbindungen mit SSL/TLS
- Authentifizierung und Autorisierung
Betrieb
- Die wichtigsten Einstellungen in der Konfiguration
- Einrichten von Topics
- Log Compaction und Retention
- Betrieb und Skalierung eines Kafka Clusters
- Monitoring mit Prometheus und Grafana
- Mirror Maker
Performanz Tuning
- Einflussfaktoren auf die Performanz
- Kompression von Nachrichten
- Batching: Wie finde ich die optimale Batch-Größe?
- Optimale Batch-Größe ermitteln
- Bestimmung der idealen Cluster-Knotenanzahl
Weiter Themen
- Troubleshooting
Zielgruppe
Administratoren, Entwickler und Softwarearchitekten
Deine Vorteile
- Jeder Teilnehmer erhält ein Zertifikat
Vorkenntnisse
Grundkenntnisse in IT und Java-Programmierung
Dauer
2 Tage
Kursunterlage
Handouts aller in der Schulung präsentierten Folien sowie ein Übungsskript
Apache and Apache Kafka sind eingetragen Warenzeichen der Apache Software Foundation.