Schulungsübersicht

Tag 1: Grundlagen der eventgetriebenen Architektur in Go

  • Einführung in EDA
    • Was ist Event-Driven Architecture (EDA)?
    • Vergleich von Monolithen, Mikro-Diensten und eventgetriebenen Systemen
    • Wie Go’s Konkurrenzmodell und leichte Goroutinen es ideal für EDA machen
  • Kernkonzepte & Vorteile
    • Entkopplung, Skalierbarkeit und Robustheit in Unternehmenssystemen
    • Ereignisse, Produzenten, Verbraucher und Ereignisbroker definieren
    • Realweltbeispiele und Fallstudien, wo Go hochleistungsfähige Event-Systeme treibt
  • CAP-Theorem & Kompromisse in EDA
    • Überblick über Konsistenz, Verfügbarkeit und Partitionstoleranz
    • Einfluss von EDA auf diese Eigenschaften
    • Strategien zur Ausgewogenheit von Konsistenz und Verfügbarkeit in Go-basierten Systemen

Tag 2: Ereignisse, Nachrichten und Kommunikationsmuster in Go

  • Ereignistypen verstehen
    • Domänenereignisse vs. Integrationsereignisse
    • Synchron vs. asynchrone Ereignisse in Go-Anwendungen
  • Messaging-Muster in der Praxis
    • Veröffentlichen/Abonnieren (Pub/Sub) in Go
    • Wie man Ereignispayloads mit JSON, Protocol Buffers oder Avro in Go gestaltet und strukturiert
  • Ereignishandling in Go implementieren
    • Überblick über gängige Go-Bibliotheken und -Frameworks für Messaging
    • Code-Beispiele: Ereignisse mit idiomatischen Go-Mustern dispatchen und verarbeiten
    • Hands-on-Sitzung: Einen einfachen ereignisgetriebenen Dienst in Go erstellen

Tag 3: Messaging-Systeme & Ereignisbroker mit Go

  • Ereignisbroker auswählen und integrieren
    • Überblick über gängige Broker: Apache Kafka, RabbitMQ und NATS
    • Vergleich von Anwendungsfällen und Best Practices für Go-basierte Systeme
  • Messaging-Infrastruktur einrichten
    • Docker Compose-Einrichtung für Kafka, RabbitMQ oder NATS
    • Themen, Exchanges, Queues und Channels konfigurieren
    • Überblick über Go-Client-Bibliotheken
  • Hands-on-Workshop
    • Eine Beispiel-Go-Mikro-Dienst anlegen, der Ereignisse erzeugt und verarbeitet
    • Dienst mit dem gewählten Ereignisbroker integrieren
    • Ereignisflüsse debuggen und testen

Tag 4: Bereitstellung, Überwachung und fortgeschrittene Themen in Go EDA

  • Go ereignisgetriebene Anwendungen auf Kubernetes bereitstellen
    • Go-Anwendungen für die Produktion containerisieren
    • Kafka (oder andere Broker) in Kubernetes-Clustern bereitstellen
    • Einführung in KEDA (Kubernetes Event-Driven Autoscaling) zur Skalierung von Ereignisverbrauchern
  • Fehlerbehandlung und Überwachung
    • Ereignisfehler mit Strategien behandeln
    • Überwachbarkeit in Go-Diensten implementieren
  • Fortgeschrittene Themen & Q&A
    • Serverlose ereignisgetriebene Architekturen mit Go erkunden
    • Ereignischoreografie vs. Orchestrierung: Anwendungsfälle und Designaspekte
    • Häufige Fallstricke, Erkenntnisse und Best Practices
    • Offene Q&A-Sitzung und interaktives Troubleshooting

Voraussetzungen

  • Profizienz in Go (Golang), einschließlich der Verwendung von Goroutinen und Channels
  • Grundlegendes Verständnis von Software-Architektur-Modellen wie Monolithen und Mikro-Dienste
  • Vertrautheit mit Docker und Docker Compose
  • Grundkenntnisse von REST-APIs und Netzwerk-Konzepten
  • Erfahrung mit Kommandozeilen-Tools und Git
  • Optional, aber hilfreich: Vorwissen über Kubernetes und Messaging-Systeme wie Kafka, RabbitMQ oder NATS

Zielgruppe

  • Go-Entwickler, die skalierbare, eventgetriebene Anwendungen erstellen
  • Software-Ingenieure, die von monolithischen oder REST-basierten Architekturen zu asynchronen Systemen wechseln
  • DevOps- und Cloud-Engineer, die mit containerisierten oder verteilten Mikro-Diensten arbeiten
  • Technische Architekten und Systemdesigner, die EDA-Muster mit Go erkunden
 28 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (7)

Kommende Kurse

Verwandte Kategorien