Schulungsübersicht
Tag 1: Grundlagen der Event-Driven Architecture in Go
- Einführung in EDA
- Was ist Event-Driven Architecture?
- Vergleich von monolithischen, Microservice- und event-getriebenen Systemen
- Warum das Konkurrenzmodell und die leichtgewichtigen Goroutinen von Go ideal für EDA sind
- Grundkonzepte & Vorteile
- Entkopplung, Skalierbarkeit und Robustheit in Unternehmenssystemen
- Definition von Events, Produzenten, Konsumenten und Event-Brokern
- Echtzeitbeispiele und Fallstudien, in denen Go hochperformante event-getriebene Systeme antreibt
- CAP-Theorem & Kompromisse in der EDA
- Überblick über Konsistenz, Verfügbarkeit und Partitionstoleranz
- Auswirkungen von EDA auf diese Eigenschaften
- Strategien zum Ausgleich von Konsistenz und Verfügbarkeit in Go-basierten Systemen
Tag 2: Events, Nachrichten und Kommunikationsmuster in Go
- Verständnis von Event-Typen
- Domänen-Events versus Integrations-Events
- Synchrone versus asynchrone Events in Go-Anwendungen
- Messaging-Muster in der Praxis
- Publish-Subscribe (Pub/Sub) in Go
- Gestaltung und Strukturierung von Event-Payloads mittels JSON, Protocol Buffers oder Avro in Go
- Implementierung der Event-Behandlung in Go
- Überblick über gängige Go-Bibliotheken und Frameworks für Messaging
- Codebeispiele: Dispatching und Verarbeitung von Events mittels idiomatischer Go-Patterns
- Praktische Übung: Aufbau eines einfachen event-getriebenen Dienstes in Go
Tag 3: Messaging-Systeme & Event-Broker mit Go
- Auswahl und Integration von Event-Brokern
- Überblick über gängige Broker: Apache Kafka, RabbitMQ und NATS
- Vergleich der Anwendungsfälle und Best Practices für Go-basierte Systeme
- Aufbau der Messaging-Infrastruktur
- Docker Compose-Konfiguration für Kafka, RabbitMQ oder NATS
- Konfigurieren von Topics, Exchanges, Queues und Channels
- Überblick über Go-Clientbibliotheken
- Praktischer Workshop
- Erstellung einer Beispiel-Microservice in Go, die Events produziert und konsumiert
- Integration des Dienstes mit dem gewählten Event-Broker
- Fehlersuche und Testen von Event-Flows
Tag 4: Deployment, Monitoring und fortgeschrittene Themen in der Go EDA
- Bereitstellung von Go event-getriebenen Anwendungen auf Kubernetes
- Kontainerisierung von Go-Anwendungen für den Produktivbetrieb
- Bereitstellung von Kafka (oder anderen Brokern) in Kubernetes-Clustern
- Einführung in KEDA (Kubernetes Event-Driven Autoscaling) zur Skalierung von Event-Konsumenten
- Fehlerbehandlung und Monitoring
- Umgang mit Event-Ausfällen mittels Strategien
- Implementierung von Observability in Go-Diensten
- Fortgeschrittene Themen & Fragestunde
- Erkundung serverloser Event-Driven Architectures mit Go
- Event Choreography versus Orchestration: Anwendungsfälle und Designüberlegungen
- Häufige Fallstricke, gewonnene Erkenntnisse und Best Practices
- Offene Fragestunde und interaktive Fehlersuche
Voraussetzungen
- Gute Kenntnisse in Go (Golang), einschliesslich der Verwendung von Goroutinen und Channels
- Grundlegendes Verständnis von Software-Architekturmodellen wie Monolithen und Microservices
- Vertrautheit mit Docker und Docker Compose
- Grundlegende Kenntnisse über REST-APIs und Netzwerkkonzepte
- Erfahrung mit Command-Line-Tools und Git
- Optional, aber hilfreich: Vorkenntnisse in Kubernetes und Messaging-Systemen wie Kafka, RabbitMQ oder NATS
Zielgruppe
- Go-Entwicklerinnen und Go-Entwickler, die skalierbare, event-getriebene Anwendungen erstellen
- Software-Ingenieurinnen und Software-Ingenieure, die von monolithischen oder REST-basierten Architekturen zu asynchronen Systemen wechseln möchten
- DevOps- und Cloud-Ingenieurinnen und -Ingenieure, die mit containerisierten oder verteilten Microservices arbeiten
- Technische Architektinnen und Architekten sowie Systemdesignerinnen und -Designer, die EDA-Muster mittels Go erkunden möchten
Erfahrungsberichte (7)
Wir schreiben einige Codezeilen in Go und lernen dabei einige Konzepte des Ereignisgetriebenen Designs (EDA), wie zum Beispiel Ereignisse, wann und wie sie verwendet werden.
Alin
Kurs - Event Driven Architecture Custom
Maschinelle Übersetzung
Es war ein interaktiver Kurs, keine Zeit zum Schlafen :)). Es war auch schön in Teams zu arbeiten und dann nach jedem Ergebnis zu diskutieren.
Alina
Kurs - Event Driven Architecture Custom
Maschinelle Übersetzung
Ich habe die Diskussionen und die bereitgestellten Beispiele am meisten geschätzt, mit denen wir selbst zu den von ihm geteilten Schlussfolgerungen kommen konnten. Das Tempo, das Englisch und die Geduld haben mir gefallen. Auch wenn wir nicht die beste Antwort gegeben haben, hat er nie gesagt, dass sie falsch wäre, sondern uns Beispiele dafür gegeben, was besser sein könnte.
Simona
Kurs - Event Driven Architecture Custom
Maschinelle Übersetzung
Die offenen Diskussionen und der Übergang vom Verständnis der Probleme/Gründe (des `warum`) zu `EDA`.
Constantin
Kurs - Event Driven Architecture Custom
Maschinelle Übersetzung
der Ansatz, Dinge stark auf Interaktion und Beispiele zu basieren
Virgil
Kurs - Event Driven Architecture Custom
Maschinelle Übersetzung
Die interaktive Natur des Kurses Der Lernansatz der Selbstentdeckung, bei dem Sie die Antworten selbst fanden Der praxisorientierte Fokus mit realen Beispielen, die die Konzepte verständlicher machten
Roxana Sandu
Kurs - Event Driven Architecture Custom
Maschinelle Übersetzung
Sehr interaktiv. Der Trainer war sehr wissbegierig und geduldig.
Robert
Kurs - Event Driven Architecture Custom
Maschinelle Übersetzung