Dieses umfassende Seminar vermittelt tiefgehende Kenntnisse und Fähigkeiten im Aufbau von Echtzeit-Datenpipelines mit Apache Kafka und der Confluent Cloud. Es richtet sich an Java-Entwickler, Architekten und Dateningenieure, die ein vollständiges Verständnis der Kafka-Ökosysteme und ihrer Anwendungen in modernen, ereignisgesteuerten Architekturen erlangen möchten. Das Seminar deckt sowohl grundlegende als auch fortgeschrittene Themen ab und beinhaltet praktische Übungen, um die erlernten Konzepte anzuwenden.
Agenda
Modul 1: Einführung in Apache Kafka und Confluent Cloud
- Überblick über Kafka: Architektur, Broker, Partitionen, Replikation und Topics
- Anwendungsfälle von Kafka: Finanzwesen, E-Commerce, IoT
- Einführung in die Confluent Cloud: Vorteile, skalierbare Cluster, automatische Fehlertoleranz, Monitoring
- Einrichten eines Kafka-Clusters: Confluent Cloud vs. On-Premises
Modul 2: Kafka-Grundlagen und Kernkomponenten
- Producer und Consumer: Funktionsweise, Konfiguration und Best Practices
- Partitioner und Serializer: Datenverteilung und -formatierung
- Log Compaction und Segmente: Datenmanagement und -Speicherung
Modul 3: Erweiterte Kafka-Konzepte
- KRaft (Kubernetes Raft): Entfernung von Zookeeper, neue Architekturen und Vorteile
- Schema Registry: Verwaltung und Validierung von Datenformaten mit Avro, Protobuf und JSON
- Heartbeat und Assignors: Mechanismen zur Verwaltung von Consumer-Gruppen und Zuweisung von Partitionen
- Paxos-Algorithmus: Konsensmechanismen in Kafka
Modul 4: Echtzeit-Datenpipelines und Streaming-Anwendungen
- Einführung in Kafka Streams: Verarbeitung von Datenströmen mit KStream und KTable
- Erstellung von Streaming-Anwendungen mit KSQL: SQL-ähnliche Abfragesprache, Abfragen und Transformationen von Datenströmen
- Integration mit Apache Spark und Hadoop: Aufbau von Pipelines
Modul 5: Spracheunabhängige Programmierung mit Kafka
- KafkaProducer & KafkaProducer API: Nutzung in Java
- Spring Boot mit Kafka: REST API mit Spring Boot und Kafka
- KafDrop: Senden von Nachrichten an Kafka-Topics aus verschiedenen Programmiersprachen
- Integration mit anderen Programmiersprachen: e.g. Python
Modul 6: Kafka Connect und Integrationen
- Kafka Connect API: Integration von Datenquellen und -senken
- Alternativen zu Kafka Connect: Apache Camel, Spring Integration und andere EAI-Frameworks
- Integration mit anderen Messaging-Systemen: RabbitMQ, Artemis
- Praxisbeispiele und Hands-on-Übungen: Integration von Systemen
Modul 7: Monitoring und Verwaltung von Kafka-Clustern
- Überblick über Monitoring-Tools: AKHQ, Kafdrop, Kowl
- Verwendung von Confluent Cloud Monitoring-Tools: Clusterleistung und -gesundheit
- Proaktive Überwachung und Fehlerbehebung: Praktische Ansätze
- Jolokia und Hawtio: Verwaltung und Überwachung von JVM-basierten Anwendungen
- Best Practices für Clusterverwaltung: In Produktionsumgebungen
Modul 8: Replikation, Leaderwahlen und Partitionen
- Mechanismen der Replikation: Sicherstellung der Datenverfügbarkeit
- Manuelles Anstoßen von Leaderwahlen: Gleichmäßige Verteilung der Partitionen und Leader
- Umgang mit Ausfällen und Wiederherstellungsstrategien: Praktische Ansätze und Fallbeispiele
Modul 9: Sicherheit und Governance in Kafka
- Sicherheitskonzepte: Authentifizierung, Autorisierung, Verschlüsselung
- Governance und Compliance: Datenverarbeitung und gesetzliche Anforderungen
Modul 10: Alternative Messaging-Systeme und Frameworks
- Vergleich von Kafka mit anderen Messaging-Systemen: RabbitMQ, Apache Pulsar
- Betrachtung alternativer Frameworks: Apache Flume, Spark Streaming
Modul 11: Moderne Kafka-Features und zukünftige Entwicklungen
- Vorteile von KRaft: Kafka ohne Zookeeper
- Zukünftige Entwicklungen im Kafka-Ökosystem: Neue Features und Trends
Modul 12: Best Practices und Fallstudien
- Best Practices für Kafka: Einsatz in Produktionsumgebungen
- Fallstudien und Praxisbeispiele aus der Industrie: Reale Implementierungen
- Hands-on-Labs: Aufbau und Verwaltung eines Kafka-Clusters, Entwicklung von Streaming-Anwendungen und Integration mit externen Systemen
Teilnehmerkreis und Voraussetzungen
Der Kurs richtet sich an Software-Entwickler:innen.
Mindestanzahl Teilnehmende: 3 Personen
Online-Schulung mit Zoom.
Uhrzeit 09:00 Uhr bis 16:00 Uhr.
Technik Du kannst wählen, ob Du die Schulung auf dem eigenen Rechner machen möchtest oder Du einen virtuellen Rechner von uns nutzen möchtest. Der Rechner wird über einen aktuellen Browser angesteuert. Hier ist der Testlink zu einem virtuellen Rechner: -> Test-Rechner bei DESKMATE (neues Fenster). Es ist ausreichend, wenn auf dem Desktop "deskMate" seht.
Voraussetzungen für eine Online-Schulung pro Teilnehmer – stabiles Internet – Webcam und Lautsprecher– ein ruhiger Platz – ggf. Admin-Rechte – Empfehlung: 2 Bildschirme
Dieses umfassende Seminar vermittelt tiefgehende Kenntnisse und Fähigkeiten im Aufbau von Echtzeit-Datenpipelines mit Apache Kafka und der Confluent Cloud. Es richtet sich an Java-Entwickler, Architek...
Mehr Informationen