Schulungsübersicht
Tag 1: Grundlagen der ereignisgesteuerten Architektur in Go
- Einführung in die EDA
- Was ist eine ereignisgesteuerte Architektur?
- Vergleich von Monolithen, Microservices und ereignisgesteuerten Systemen
- Warum Go dank seines Concurrency-Modells und leichter Goroutinen ideal für EDA geeignet ist
- Kernkonzepte und Vorteile
- Entkopplung, Skalierbarkeit sowie Robustheit in Unternehmenssystemen
- Definition von Ereignissen, Erzeugern, Verarbeitern und Event-Brokern
- Reale Beispiele und Fallstudien: Wie Go hochleistungsfähige Ereignissysteme ermöglicht
- CAP-Theorem sowie Abwägungen bei der EDA
- Überblick zu Konsistenz, Verfügbarkeit und Partitionstoleranz
- Auswirkungen der EDA auf diese Eigenschaften
- Strategien zur Abwägung von Konsistenz und Verfügbarkeit in Go-basierten Systemen
Tag 2: Ereignistypen, Nachrichten und Kommunikationsmuster in Go
- Ereignistypen verstehen
- Domänenevents im Vergleich zu Integrations-Events
- Synchrone versus asynchrone Ereignisse in Go-Anwendungen
- Nachrichtenmuster in der Praxis
- Das Publish-Subscribe-Prinzip (Pub/Sub) in Go
- Wie man eventbasierte Nutzdaten mithilfe von JSON, Protocol Buffers oder Avro in Go strukturiert
- Ereignisverarbeitung in Go implementieren
- Überblick über beliebte Go-Bibliotheken und Frameworks für die Nachrichtenkommunikation
- Codebeispiele: Ereignisse mithilfe typischer Go-Entwurfsmuster versenden und verarbeiten
- Praxisübung: Erstellung eines einfachen ereignisgesteuerten Dienstes in Go
Tag 3: Nachrichtensysteme und Event-Broker mit Go
- Auswahl und Integration von Event-Brokern
- Überblick über gängige Broker: Apache Kafka, RabbitMQ sowie NATS
- Vergleich der Einsatzgebiete sowie Best Practices für Go-basierte Systeme
- Einrichtung der Nachrichteninfrastruktur
- Docker Compose zur Konfiguration von Kafka, RabbitMQ oder NATS verwenden
- Themen, Exchanges, Warteschlangen sowie Kanäle einrichten und konfigurieren
- Einblick in gängige Go-Client-Bibliotheken
- Praxis-Workshop
- Erstellung eines exemplarischen Go-Microservices, der Ereignisse erzeugt und verarbeitet
- Eingliederung des Dienstes in den gewählten Event-Broker
- Debugging sowie Testen der Ereignisflüsse
Tag 4: Bereitstellung, Überwachung und fortgeschrittene Themen in Go-EDA
- Bereitstellung von Go-basierten Ereignisanwendungen auf Kubernetes
- Go-Anwendungen für den Produktivbetrieb containerisieren
- Bereitstellung von Kafka (oder anderen Brokern) innerhalb von Kubernetes-Clustern
- Einführung in KEDA (Kubernetes Event-Driven Autoscaling): Skalierung von Ereignisverarbeitern automatisch steuern
- Fehlerbehandlung und Überwachung
- Strategien zur Behandlung fehlerhafter Ereignisse
- Implementierung von Observability-Funktionen in Go-Diensten
- Fortgeschrittene Themen und Fragen der Teilnehmer
- Einführung in serverlose, ereignisgesteuerte Architekturen mit Go
- Event-Choreographie versus Orchestrierung: Einsatzszenarien und Design-Überlegungen
- Häufige Fallstricke, gewonnene Erkenntnisse sowie bewährte Praktiken
- Offenes Frageninterview mit praktischen Troubleshooting-Übungen
Voraussetzungen
- Solide Kenntnisse in Go (Golang), einschließlich der Nutzung von Goroutinen und Kanälen
- Grundverständnis gängiger Software-Architekturmodelle wie Monolithen oder Microservices
- Vertrautheit mit Docker sowie Docker Compose
- Basiswissen über REST-APIs und Netzwerkkonzepte
- Erfahrung mit Befehlszeilentools sowie Git
- Optional, aber hilfreich: Vorkenntnisse in Kubernetes sowie Nachrichtensystemen wie Kafka, RabbitMQ oder NATS
Zielgruppe
- Go-Entwickler, die skalierbare, ereignisgesteuerte Anwendungen entwickeln
- Software-Ingenieure, die von monolithischen oder REST-basierten Architekturen zu asynchronen Systemen wechseln möchten
- DevOps- und Cloud-Engineers, die mit containerisierten bzw. verteilten Microservices arbeiten
- Technische Architekten sowie Systemdesigner, die EDA-Muster unter Einsatz von Go erkunden
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