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
 28 ore

Numărul de participanți


Prețul pe participant

Mărturii (7)

Cursuri viitoare

Categorii înrudite