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
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