Schulungsübersicht
Tag 1: Grundlagen der ereignisgesteuerten Architektur in Go
- Einführung in EDA
- Was ist ereignisgesteuerte Architektur?
- Vergleich von monolithischen Systemen, Microservices und ereignisgesteuerten Systemen
- Warum das Concurrent Model und die leichten Goroutines von Go es ideal für EDA machen
- Zentrale Konzepte und Vorteile
- Entkopplung, Skalierbarkeit und Resilienz in Unternehmenssystemen
- Definition von Ereignissen, Produzenten, Verbrauchern und Event-Brokern
- Praxisbeispiele und Fallstudien, in denen Go hochperformante Ereignissysteme ermöglicht
- CAP-Theorem und Kompromisse in EDA
- Überblick über Konsistenz, Verfügbarkeit und Partitionstoleranz
- Auswirkung von EDA auf diese Eigenschaften
- Strategien zum Ausgleich von Konsistenz und Verfügbarkeit in Go-basierten Systemen
Tag 2: Ereignisse, Nachrichten und Kommunikationsmuster in Go
- Verständnis von Ereignistypen
- Domänenereignisse vs. Integrationsereignisse
- Synchrone vs. asynchrone Ereignisse in Go-Anwendungen
- Nachrichtenmuster in der Praxis
- Publizieren-Abonnieren (Pub/Sub) in Go
- Entwurf und Strukturierung von Event-Payloads unter Verwendung von JSON, Protocol Buffers oder Avro in Go
- Implementierung der Ereignisbearbeitung in Go
- Überblick über gängige Go-Bibliotheken und Frameworks für Messaging
- Codebeispiele: Senden und Verarbeiten von Ereignissen mit idiomatischen Go-Mustern
- Praxissitzung: Aufbau eines einfachen ereignisgesteuerten Diensts in Go
Tag 3: Nachrichtensysteme und Event-Broker mit Go
- Auswahl und Integration von Event-Brokern
- Überblick über beliebte Broker: Apache Kafka, RabbitMQ und NATS
- Vergleich der Anwendungsfälle und Best Practices für Go-basierte Systeme
- Einrichten der Messaging-Infrastruktur
- Docker-Compose-Einrichtung für Kafka, RabbitMQ oder NATS
- Konfiguration von Topics, Exchanges, Queues und Channels
- Überblick über Go-Client-Bibliotheken
- Praxisworkshop
- Aufbau eines Beispiels eines Go-Microservice, der Ereignisse erzeugt und verbraucht
- Integration des Diensts mit dem gewählten Event-Broker
- Fehlerbehebung und Testen von Ereignisflüssen
Tag 4: Bereitstellung, Überwachung und fortgeschrittene Themen in Go EDA
- Bereitstellung von Go-Ereignisanwendungen auf Kubernetes
- Containerisierung von Go-Anwendungen für den Produktiveinsatz
- Bereitstellung von Kafka (oder anderen Brokern) in Kubernetes-Clustern
- Einführung in KEDA (Kubernetes Event-Driven Autoscaling) zur Skalierung von Ereignisverbrauchern
- Fehlerbehandlung und Überwachung
- Bearbeitung von Ereignisfehlern mit entsprechenden Strategien
- Implementierung von Observability in Go-Diensten
- Fortgeschrittene Themen und Fragen und Antworten
- Erforschung serverloser ereignisgesteuerter Architekturen mit Go
- Ereignis-Choreografie vs. Orchestrierung: Anwendungsfälle und Designüberlegungen
- Häufige Fehlerquellen, gelerntes Wissen und Best Practices
- Offene Q&A-Sitzung und interaktive Fehlerbehebung
Voraussetzungen
- Grundkenntnisse in Go (Golang), einschliesslich der Verwendung von Goroutines und Channels
- Grundlegendes Verständnis von Softwarearchitekturmodellen wie Monolithen und Microservices
- Vertrautheit mit Docker und Docker Compose
- Grundkenntnisse in REST-APIs und Netzwerkkonzepten
- Erfahrung mit Befehlszeilenwerkzeugen und Git
- Wünschenswert, aber nicht zwingend erforderlich: Vorwissen über Kubernetes und Nachrichtensysteme wie Kafka, RabbitMQ oder NATS
Zielgruppe
- Go-Entwickler, die skalierbare, ereignisgesteuerte Anwendungen entwickeln
- Softwareingenieure, die von monolithischen oder REST-basierten Architekturen auf asynchrone Systeme umstellen
- DevOps- und Cloud-Ingenieure, die mit containerisierten oder verteilten Microservices 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