Inhaltsverzeichnis
- Kurzprofil
- Rahmendaten
- Zielgruppe
- Voraussetzungen
- Lernziele
- Inhalte
- Praxisübungen
- Technische Umgebung
- Architekturbausteine
Kurzprofil
Das Seminar behandelt Avro als Datenvertrag in Event-Streaming-Architekturen. Themen sind Event-Schema-Design, Producer/Consumer-Rollout bei Schema-Änderungen, Serialisierungsstrategien und der Einsatz von Schema-Registry-Lösungen. Übungen führen Schritt für Schritt durch die Modellierung eines Event-Streams, die Registrierung von Schemas, Kompatibilitätskonfiguration und den evolutionären Ausbau eines Eventtyps.
Rahmendaten
- Dauer: 2 Tage
- Niveau: Aufbau
- Format: Architektur-Patterns, Demos, Hands-on-Labs
Zielgruppe
- Teams, die Kafka-basierte Event-Plattformen betreiben oder entwickeln
- Microservice- und Streaming-Teams (Producer/Consumer)
- Architektur, Plattform und Data Governance
Voraussetzungen
- Grundverständnis von Kafka-Konzepten (Topic, Partition, Consumer Group)
- Avro-Grundlagen (Schemas, Defaults, Writer/Reader-Prinzip)
Lernziele
- Event-Schemas stabil und evolutionär modellieren
- Kompatible Rollout-Strategien für Producer und Consumer entwerfen
- Schema-Registry-Konzepte (Subjects, Kompatibilitätsmodi, Lifecycle) anwenden
- Fehlerbilder in Streaming-Pipelines schnell diagnostizieren
- Contract-Tests und Freigabeprozesse für Events etablieren
Inhalte
Modul 1: Event-Modellierung mit Avro
- Event vs. Command vs. State Change
- Key/Value-Schema, Partitionierungsstrategie und Felder für Idempotenz
- Nullability, Defaults und Forward-Compatibility im Event-Design
Modul 2: Serialisierungspfade und Payload-Formate
- Serializers/Deserializers und Schema-Identifikation
- Schema-IDs, Caching-Strategien und Fehlertoleranz
- Single-Object-Encodings und Metadaten im Header
Modul 3: Schema Registry Grundlagen
- Subject-Naming-Strategien (Topic-basiert, Record-basiert, Hybrid)
- Kompatibilitätsmodi und deren Wirkung auf Releases
- Schema-Lifecycle: Entwurf, Review, Registrierung, Deprecation
Modul 4: Rollout-Strategien bei Schema Evolution
- Producer-First vs. Consumer-First Rollout
- Mehrversionenbetrieb, Feature Flags und schrittweise Migration
- Fehlerkanäle: Dead Letter, Quarantäne, Reprocessing
Modul 5: Stream Processing und Downstream-Systeme
- Schema-Strategien für aggregierte/abgeleitete Events
- Joins, Repartitionierung und Schema Evolution in Streams
- Integration in Data Lake oder Suchsysteme (Schema-on-Read)
Praxisübungen
Lab 1: Event-Schema entwerfen
- Domänenereignis auswählen und Event-Record modellieren.
- Konventionen festlegen (Naming, Namespace, Doc-Felder, IDs).
- Optionalfelder und Defaults definieren.
- Schema als Version v1 freigeben.
Lab 2: Registry-Integration und Kompatibilität
- Subject-Naming-Strategie wählen und dokumentieren.
- Schema registrieren und Kompatibilitätsmodus konfigurieren.
- Producer/Consumer mit Registry-Integration skizzieren.
- Typische Fehlerfälle erzeugen (fehlende Schema-ID, inkompatibles Update).
Lab 3: Evolutionärer Ausbau eines Eventtyps
- v2 des Events entwerfen (Feld hinzufügen, Default setzen).
- Rollout-Plan erstellen (Reihenfolge Producer/Consumer, Monitoring).
- Kompatibilitätsprüfung durchführen und Release freigeben.
- Alte Felder deprecaten und Migrationsnotizen erstellen.
Lab 4: Contract-Tests für Event-Schemas
- Testfälle für Kompatibilität definieren (Backward/Forward je Topic).
- CI-Gate beschreiben: Welche Checks sind verpflichtend?
- Golden Messages als Testartefakt festlegen.
- Freigabeprozess inklusive Review-Rollen skizzieren.
Technische Umgebung
- Kafka-Umgebung (lokal oder Trainingscluster)
- Avro-Bibliotheken in Java oder Python
- Schema-Registry-Lösung für Labs (oder simulierte Registry-API)
Architekturbausteine
- Event-Schema-Katalog als Single Source of Truth
- Kompatibilitätsmodi pro Subject als Governance-Regel
- Release-Workflow: Schema → Producer → Consumer → Reprocessing
- Observability: Schema-Version/ID in Logs und Metriken
