Schița de curs
Ziua 1: Fundamentele Arhitecturii Bazate pe Evenimente în Go
- Introducere la EDA
- Ce este Arhitectura Bazată pe Evenimente?
- Comparația între Sisteme Monolitice, Microservicii și Sisteme Bazate pe Evenimente
- Cum modelul de concurență al Go-ului și gorutinile ușoare îl fac ideal pentru EDA
- Concepte Core și Beneficii
- Decuplarea, scalabilitatea și reziliența în sistemele enterprise
- Definirea Evenimentelor, Producătorilor, Consumatorilor și Broker-urilor de Evenimente
- Exemple din lumea reală și studii de caz unde Go susține sisteme evenimentele cu performanță ridicată
- Teorema CAP & Compromisuri în EDA
- Prezenta 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 Padruri de Comunicare în Go
- Înțelegerea Tipurilor de Evenimente
- Evenimente de Domeniu vs. Evenimente de Integrare
- Evenimente Sincrone vs. Asincrone în aplicațiile Go
- Paduri de Mesajare în Practică
- Publicare-Abonare (Pub/Sub) în Go
- Cum să proiectați și structurați payload-uri de evenimente folosind JSON, Protocol Buffers sau Avro în Go
- Implementarea Gestionării Evenimentelor în Go
- Prezentare a bibliotecilor și framework-urilor popular Go pentru mesajare
- Exemple de cod: dispatching și procesarea evenimentelor folosind pattern-uri idiomatic Go
- Sesiune practică: Construirea unui serviciu simplu bazat pe evenimente în Go
Ziua 3: Sisteme de Mesajare & Broker-uri de Evenimente cu Go
- Selectarea și Integrarea Broker-urilor de Evenimente
- Prezentare a broker-urilor populari: Apache Kafka, RabbitMQ și NATS
- Comparația utilizărilor cazuri și cele mai bune practici pentru sistemele bazate pe Go
- Gestionarea Infrastructurii de Mesajare
- Setup cu Docker Compose pentru Kafka, RabbitMQ sau NATS
- Configurarea topic-urilor, exchange-urilor, cozi și canalelor
- Prezenta bibliotecilor Go client
- Sesiune Practică
- Construirea unui microserviciu Go de exemplu care produce și consume evenimente
- Integrarea serviciului cu broker-ul de evenimente ales
- Depanare și testare a fluxurilor de evenimente
Ziua 4: Implementarea, Monitorizarea și Topicuri Avansate în Go EDA
- Implementarea Aplicațiilor Bazate pe Evenimente cu Go pe Kubernetes
- Containerizarea aplicațiilor Go pentru producție
- Implementarea Kafka (sau alt broker) în cluster-uri Kubernetes
- Introducere la KEDA (Kubernetes Event-Driven Autoscaling) pentru scalare a consumatorilor de evenimente
- Gestionarea Erorilor și Monitorizarea
- Gestionarea eșecurilor evenimentelor cu strategii
- Implementarea observabilității în serviciile Go
- Topicuri Avansate & Q&A
- Explorarea Arhitecturilor Bazate pe Evenimente Fără Server cu Go
- Coreografie de Evenimente vs. Orchestare: Cazuri de utilizare și considerente de proiectare
- Pitfall-uri comune, lecții învățate și cele mai bune practici
- Sesiune Q&A deschisă și depanare interactivă
Cerințe
- Competențe în Go (Golang), inclusiv utilizarea gorutinelor și canalelor
- Înțelegere de bază a modelelor de arhitectură software precum monolitele și microserviciile
- Familiarizare cu Docker și Docker Compose
- Cunoștințe de bază ale API-urilor REST și conceptelor de rețele
- Experiență cu instrumente de linie de comandă și Git
- Opțional, dar util: experiență anterioară cu Kubernetes și sisteme de mesajare precum Kafka, RabbitMQ sau NATS
Audience
- Dezvoltatori Go care construiesc aplicații scalabile bazate pe evenimente
- Ingineri de software care se mută din arhitecturi monolitice sau bazate pe REST către sisteme asincrone
- Ingineri DevOps și cloud care lucrează cu microservicii containerizate sau distribuite
- Arhitecți tehnici și designeri de sisteme care exploră EDA patterns 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