Schulungsübersicht
Tag 1: Grundlagen der ereignisgesteuerten Architektur in Go
- Einführung in die EDA
- Was ist ereignisgesteuerte Architektur?
- Vergleich von monolithischen, Microservice- und ereignisgesteuerten Systemen
- Wie das Konurrenzmodell von Go und seine leichten Goroutines es ideal für EDA machen
- Grundlegende Konzepte und Vorteile
- Entkopplung, Skalierbarkeit und Resilienz in Unternehmenssystemen
- Definition von Ereignissen, Produzenten, Verbrauchern und Ereignis-Brokern
- Praktische Beispiele und Fallstudien, in denen Go hochleistungsfähige Ereignissysteme antreibt
- Cap-Theorem und Abwägungen in der EDA
- Überblick über Konsistenz, Verfügbarkeit und Partitionstoleranz
- Auswirkungen der EDA auf diese Eigenschaften
- Strategien zur Balance zwischen Konsistenz und Verfügbarkeit in Go-basierten Systemen
Tag 2: Ereignisse, Nachrichten und Kommunikationsmuster in Go
- Verständnis von Ereignistypen
- Domänenereignisse im Vergleich zu Integrationsereignissen
- Synchrone und asynchrone Ereignisse in Go-Anwendungen
- Nachrichtenmuster in der Praxis
- Publizieren und Abonnieren (Pub/Sub) in Go
- Gestaltung und Strukturierung von Ereignispayloads mit JSON, Protocol Buffers oder Avro in Go
- Umsetzung der Ereignisverarbeitung in Go
- Überblick über gängige Go-Bibliotheken und Frameworks für Messaging
- Code-Beispiele: Sende- und Verarbeitungsprozesse für Ereignisse mit idiomatischen Go-Mustern
- Praktische Übung: Aufbau eines einfachen ereignisgesteuerten Dienstes in Go
Tag 3: Nachrichtensysteme und Ereignis-Broker mit Go
- Auswahl und Integration von Ereignis-Brokern
- Überblick über gängige Broker: Apache Kafka, RabbitMQ und NATS
- Vergleich von Anwendungsfällen und Best Practices für Go-basierte Systeme
- Einrichtung der Nachrichteninfrastruktur
- Docker-Compose-Einrichtung für Kafka, RabbitMQ oder NATS
- Konfiguration von Topics, Exchanges, Queues und Channels
- Überblick über Go-Client-Bibliotheken
- Praktisches Seminar
- Aufbau einer Beispiel-GO-Microservice, die Ereignisse erzeugt und verarbeitet
- Integration des Dienstes mit dem gewählten Ereignis-Broker
- Fehlerdiagnose und Testen von Ereignisflüssen
Tag 4: Bereitstellung, Überwachung und fortgeschrittene Themen in der Go-EDA
- Bereitstellung ereignisgesteuerter Go-Anwendungen auf Kubernetes
- Containerisierung von Go-Anwendungen für den Produktivbetrieb
- Bereitstellung von Kafka (oder anderen Brokern) in Kubernetes-Clustern
- Einführung in KEDA (Kubernetes Event-Driven Autoscaling) zum Skalieren von Ereignisverbrauchern
- Fehlerbehandlung und Überwachung
- Bewältigung von Ereignisfehlern mit passenden Strategien
- Implementierung von Observability in Go-Diensten
- Fortgeschrittene Themen und Q&A
- Erforschung serverloser ereignisgesteuerter Architekturen mit Go
- Ereignischoreographie vs. Orchestrierung: Anwendungsfälle und Designüberlegungen
- Häufige Fallstricke, gelernte Lektionen und Best Practices
- Offene Q&A-Sitzung und interaktives Troubleshooting
Voraussetzungen
- Gutes Know-how in Go (Golang), einschließlich der Nutzung von Goroutines und Channels
- Grundlegendes Verständnis von Softwarearchitekturmodellen wie Monolithen und Microservices
- Vertrautheit mit Docker und Docker Compose
- Grundkenntnisse in REST-APIs und Netzwerk-Konzepten
- Erfahrung mit Befehlszeilentools und Git
- Optional, aber hilfreich: Vorwissen zu Kubernetes und Nachrichtensystemen wie Kafka, RabbitMQ oder NATS
Zielgruppe
- Go-Entwickler, die skalierbare, ereignisgesteuerte Anwendungen erstellen
- Software-Ingenieure, die von monolithischen oder REST-basierten Architekturen zu asynchronen Systemen wechseln
- DevOps- und Cloud-Ingenieure, die mit containerisierten oder verteilten Microservices arbeiten
- Technische Architekten und Systemdesigner, die EDA-Muster mit Go untersuchen
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