Návrh Školení
Den 1: Základy Event-Driven Architektury v Go
- Úvod do EDA
- Co je Event-Driven Architektura?
- Porovnání monolitních, mikroservisních a event-driven systémů
- Jak Go’va model konkurencí a lehké gorutiny činí tento jazyk ideálním pro EDA
- Základní koncepty & výhody
- Oddělení, škálovatelnost a odolnost ve výkonných systémech
- Definice událostí, producentů, konsumérů a event brokerů
- Reálné příklady a případy použití, kde Go pohání vysokovýkonné event systémy
- CAP Theorem & kompromisy v EDA
- Přehled konzistence, dostupnosti a odolnosti před rozdělením
- Vliv EDA na tyto vlastnosti
- Strategie pro vyvážení konzistence a dostupnosti v systémech založených na Go
Den 2: Události, zprávy a komunikační vzory v Go
- Pochopení typů událostí
- Domaínové události vs. integrační události
- Synchronní vs. asynchronní události v aplikacích Go
- Zpravodajské vzory na praxi
- Publikování a přihlašování (Pub/Sub) v Go
- Jak navrhnout a strukturovat event payload pomocí JSON, Protocol Buffers nebo Avro v Go
- Implementace zpracování událostí v Go
- Přehled populárních knihoven a rámce pro zpravodajství v Go
- Kódové příklady: dispečování a zpracování událostí pomocí idiomatických vzorů v Go
- Praktická sezení: Sestavení jednoduché event-driven služby v Go
Den 3: Zpravodajské systémy & event brokeri s Go
- Výběr a integrace event brokerů
- Přehled populárních brokerů: Apache Kafka, RabbitMQ a NATS
- Porovnání případů použití a nejlepších praktik pro systémy založené na Go
- Nastavení zpravodajské infrastruktury
- Nastavení Docker Compose pro Kafka, RabbitMQ nebo NATS
- Konfigurace témat, směnovacích zařízení (exchanges), front a kanálů
- Přehled Go klientních knihoven
- Praktický workshop
- Sestavení ukázkové mikroservisní služby v Go, která produkuje a konsumuje události
- Integrace služby s vybraným event brokerem
- Ladění a testování toku událostí
Den 4: Nasazování, monitoring a pokročilé témata v Go EDA
- Nasazování event-driven aplikací Go na Kubernetes
- Kontejnerizace aplikací Go pro produkci
- Nasazení Kafka (nebo jiných brokerů) v clusterech Kubernetes
- Úvod do KEDA (Kubernetes Event-Driven Autoscaling) pro škálování event consumerů
- Zpracování chyb a monitoring
- Zpracování selhání událostí pomocí strategií
- Implementace přehlednosti v službách Go
- Pokročilé témata & Q&A
- Průzkum bezserverových event-driven architektur s Go
- Event choreografie vs. orchestration: případy použití a návrhové aspekty
- Běžné pasti, zkušenosti a nejlepší praktiky
- Otevřená Q&A sezení a interaktivní řešení problémů
Požadavky
- Znalost Go (Golang), včetně použití gorutin a kanálů
- Základní znalost modelů softwarové architektury, jako jsou monolity a mikroservisy
- Seznámení s Dockerem a Docker Compose
- Základní znalost REST API a konceptů sítě
- Zkušenosti s příkazovými nástroji a Gitem
- Volitelné, ale užitečné: dřívější vystavení Kubernetesu a zpravodajských systémů jako je Kafka, RabbitMQ nebo NATS
Cílová skupina
- Vývojáři Go vytvářející škálovatelné, event-driven aplikace
- Softwaroví inženýři přecházející z monolitních nebo REST-based architektur na asynchronní systémy
- DevOps a cloud inženýři pracující s kontejnerizovanými nebo distribuovanými mikroservisy
- Techničtí architekti a systémoví navrháři zkoumající EDA vzory pomocí Go
Reference (7)
we write some code in GO and we learn some stuff regarding EDA like events, when and how.
Alin
Kurz - Event Driven Architecture Custom
It was an interactive course, no time to sleep :)). Also was nice to work in teams and then to debate according to each result.
Alina
Kurz - Event Driven Architecture Custom
I enjoyed most the discussions and the examples provided so we could reach by ourselves to the conclusions he wanted to share with us. I liked the pace, the english, the patience, that even if we did not came with the best answer he would not say it is wrong, but came with examples of what could be better.
Simona
Kurz - Event Driven Architecture Custom
The open discussions and going from understanding the problems/reasons (the `why`) to `EDA`.
Constantin
Kurz - Event Driven Architecture Custom
the approach of presenting things heavily based on interaction and examples
Virgil
Kurz - Event Driven Architecture Custom
The interactive nature of the course The self-discovery learning approach where you found answers yourselves The practical focus with real-life examples that made concepts more relatable
Roxana Sandu
Kurz - Event Driven Architecture Custom
Very interactive. The trainer was very knowledgeable and patient.