Schița de curs
Ziua 1: Fundamentele arhitecturii bazate pe evenimente în Go
- Introducere în EDA
- Ce este arhitectura bazată pe evenimente?
- Comparație între sistemele monolitice, microservicii și sistemele bazate pe evenimente
- Cum modelul de concurență al Go și gorutinele ușoare îl fac ideal pentru EDA
- Concepte de bază și beneficii
- Decuplare, scalabilitate și reziliență în sistemele enterprise
- Definirea evenimentelor, producătorilor, consumatorilor și brokerilor de evenimente
- Exemple din lumea reală și studii de caz în care Go alimentează sisteme de evenimente de înaltă performanță
- Teorema CAP și compromisuri în EDA
- Prezentare generală a consistenței, disponibilității și toleranței la partiționare
- Impactul EDA asupra acestor proprietăți
- Strategii pentru echilibrarea consistenței și disponibilității în sistemele bazate pe Go
Ziua 2: Evenimente, mesaje și modele de comunicare în Go
- Înțelegerea tipurilor de evenimente
- Evenimente de domeniu vs. evenimente de integrare
- Evenimente sincrone vs. asincrone în aplicațiile Go
- Modele de mesagerie în practică
- Publicare-Abonare (Pub/Sub) în Go
- Cum să proiectezi și să structurezi payload-urile evenimentelor folosind JSON, Protocol Buffers sau Avro în Go
- Implementarea gestionării evenimentelor în Go
- Prezentare generală a bibliotecilor și framework-urilor Go populare pentru mesagerie
- Exemple de cod: trimiterea și procesarea evenimentelor folosind pattern-uri Go idiomatice
- Sesiune practică: Construirea unui serviciu simplu bazat pe evenimente în Go
Ziua 3: Sisteme de mesagerie și brokeri de evenimente cu Go
- Selectarea și integrarea brokerilor de evenimente
- Prezentare generală a brokerilor populari: Apache Kafka, RabbitMQ și NATS
- Comparație a cazurilor de utilizare și a celor mai bune practici pentru sistemele bazate pe Go
- Configurarea infrastructurii de mesagerie
- Configurare Docker Compose pentru Kafka, RabbitMQ sau NATS
- Configurarea topicurilor, exchange-urilor, cozilor și canalelor
- Prezentare generală a bibliotecilor client Go
- Workshop practic
- Construirea unui microserviciu Go exemplu care produce și consumă evenimente
- Integrarea serviciului cu brokerul de evenimente ales
- Depanarea și testarea fluxurilor de evenimente
Ziua 4: Deployment, monitorizare și subiecte avansate în EDA cu Go
- Implementarea aplicațiilor Go bazate pe evenimente pe Kubernetes
- Containerizarea aplicațiilor Go pentru producție
- Implementarea Kafka (sau a altor brokeri) pe clustere Kubernetes
- Introducere în KEDA (Kubernetes Event-Driven Autoscaling) pentru scalarea consumatorilor de evenimente
- Gestionarea erorilor și monitorizarea
- Gestionarea eșecurilor evenimentelor cu strategii
- Implementarea observabilității în serviciile Go
- Subiecte avansate și întrebări și răspunsuri
- Explorarea arhitecturilor serverless bazate pe evenimente cu Go
- Coregrafie de evenimente vs. orchestrare: cazuri de utilizare și considerații de design
- Capcane comune, lecții învățate și cele mai bune practici
- Sesiune deschisă de întrebări și răspunsuri și depanare interactivă
Cerințe
- Competență în Go (Golang), inclusiv utilizarea gorutinelor și a canalelor
- Înțelegere de bază a modelelor de arhitectură software, cum ar fi monoliții și microserviciile
- Familiaritate cu Docker și Docker Compose
- Cunoștințe de bază despre API-urile REST și conceptele de rețea
- Experiență cu instrumente de linie de comandă și Git
- Opțional, dar util: expunere anterioară la Kubernetes și sisteme de mesagerie precum Kafka, RabbitMQ sau NATS
Public țintă
- Dezvoltatori Go care construiesc aplicații scalabile, bazate pe evenimente
- Ingineri software care fac tranziția de la arhitecturi monolitice sau bazate pe REST la sisteme asincrone
- Ingineri DevOps și cloud care lucrează cu microservicii containerizate sau distribuite
- Arhitecți tehnici și designeri de sisteme care explorează pattern-uri EDA folosind Go
Mărturii (7)
scriem un cod în GO și învățăm unele lucruri despre EDA, cum ar fi evenimentele, când și cum.
Alin
Curs - Event Driven Architecture Custom
Tradus de catre o masina
A fost un curs interactiv, nici măcar nu a fost timp de somn :)). De asemenea, a fost plăcut să lucrez în echipe și apoi să dezbatem conform fiecărui rezultat.
Alina
Curs - Event Driven Architecture Custom
Tradus de catre o masina
Am apprécier cel mai mult discuțiile și exemplele furnizate pentru a putea ajunge singuri la concluziile pe care le dorea să ne le împartă. Mi-a plăcut ritmul, engleza, răbdarea, faptul că chiar dacă nu am adus cea mai bună răspuns, el nu spunea că este greșit, ci venea cu exemple ale ceea ce ar fi putut fi mai bine.
Simona
Curs - Event Driven Architecture Custom
Tradus de catre o masina
Discuțiile deschise și trecerea de la înțelegerea problemelor/motivelor (aspectul `de ce`) la `EDA`.
Constantin
Curs - Event Driven Architecture Custom
Tradus de catre o masina
abordarea de prezentare a lucrurilor bazată în mod semnificativ pe interacțiune și exemple
Virgil
Curs - Event Driven Architecture Custom
Tradus de catre o masina
Natura interactivă a cursului Abordarea de învățare prin auto-decoperire, unde ați găsit răspunsurile singuri Focalizarea practică cu exemple din viața reală care au făcut conceptele mai accesibile
Roxana Sandu
Curs - Event Driven Architecture Custom
Tradus de catre o masina
Foarte interactiv. Formatorul a fost foarte cunoscător și înțelept.
Robert
Curs - Event Driven Architecture Custom
Tradus de catre o masina