Schița de curs

Ziua 1: Fundamentele arhitecturii orientate pe evenimente în Go

  • Introducere în EDA
    • Ceea ce este Arhitectura Orientată la Evenimente?
    • Compararea sistemelor Monolitice, Microservices și Orientate la Evenimente
    • Modul în care modelul de concurență și goroutinile ușor de utilizat din Go îl fac ideal pentru EDA
  • Concepte și Beneficii Principale
    • Deseamănarea, scalabilitatea și reziliența în sistemele de afaceri
    • Definirea evenimentelor, producătorilor, consumatorilor și brokerilor de evenimente
    • Exemple și studii de caz din lume reală unde Go pornește sistemele performante orientate la evenimente
  • Tehema CAP & Compromisuri în EDA
    • Prezentare generală a Consistenței, Disponibilității și Toleranței la Fragmentare
    • Impactul EDA asupra acestor proprietăți
    • Strategii pentru echilibrarea consistenței și disponibilității în sisteme bazate pe Go

Ziua 2: Evenimente, Mesaje și Pătrunzuri de Communication în Go

  • Comprehensia Tipurilor de Eveniment
    • Evenimentele de Domeniu vs. Evenimentele de Integrare
    • Evenimentele Sinchrone vs. Asinchrone în aplicațiile Go
  • Pătrunzuri de Messajing în Practică
    • Publish-Subscribe (Pub/Sub) în Go 
    • Modul în care să concepi și să structurezi pliurile de evenimente folosind JSON, Protocol Buffers sau Avro în Go
  • Implementarea Tratarii Evenimentelor în Go
    • Prezentare generală a bibliotecilor și cadrelor populare pentru mesajare 
    • Exemple de cod: distribuirea și procesarea evenimentelor folosind modele idiomatic din Go
    • Sesiune practică: Construirea unui serviciu simplu orientat la evenimente în Go

Ziua 3: Sisteme de Mesajare și Brokeri de Evenimente cu Go

  • Selectarea și Integrarea Brokerilor de Evenimente
    • Prezentare generală a brokerilor populare: Apache Kafka, RabbitMQ și NATS
    • Comparație a scenarielor de utilizare și cele mai bune practici pentru sisteme bazate pe Go
  • Schimbarea Infrastructurii de Mesajare
    • Docker Compose setup pentru Kafka, RabbitMQ, sau NATS
    • Configurarea topicurilor, schimburilor, cozelor și canalelor
    • Prezentare generală a bibliotecilor client din Go
  • Sesiune Practică
    • Construirea unui microserviciu de exemplu Go care produce și consumă evenimente
    • Integrarea serviciului cu brokerul de evenimente ales
    • Depanare și testare a fluxurilor de evenimente

Ziua 4: Deploying, Monitorizarea și Temări Avansate în Go EDA

  • Deploying Aplicațiile Orientate la Evenimente din Go pe Kubernetes
    • Containerizarea aplicațiilor din Go pentru producție
    • Deployul Kafka (sau alte brokeri) pe clusterele Kubernetes
    • Introducerea în KEDA (Kubernetes Event-Driven Autoscaling) pentru scalarea consumatorilor de evenimente
  • Gestionarea Erorilor și Monitorizare
    • Tratarea eșecurilor de eveniment cu strategii 
    • Implementarea observabilității în serviciile din Go
  • Temări Avansate & Q&A
    • Cercetarea Arhitecturilor Orientate la Evenimente fără Servicii cu Go
    • Choreografia vs. Orchestration de evenimente: Scenarii și considerații de design
    • Pitfaluri comune, lecții învățate și cele mai bune practici
    • Sesiune deschisă Q&A și rezolvarea problemelor interactiv

 

Cerințe

  • Proficiency în Go (Golang), inclusiv utilizarea goroutines și channels
  • Înțelegerea de bază a modelelor de arhitectură software cum ar fi monolitele și microserviciile
  • FAMILIARITATE cu Docker și Docker Compose
  • Cunoștințe de bază despre API-uri REST și conceptele de rețea
  • Experiență cu instrumentele liniei de comandă și Git
  • Opțional, dar util: expunere anterioră la Kubernetes și sisteme de mesagerie precum Kafka, RabbitMQ, sau NATS

Audiență

  • Dezvoltаторii Go care construiesc aplicații scalabile și bazate pe evenimente
  • Inginerii software care se trec de arhitecturi monolitice sau bazate pe REST către sisteme asincrone
  • DevOps și inginerii cloud care lucrează cu microserviciile containerizate sau distribuite
  • Arhitecții tehnici și designerii de sistem care cercetează modelele EDA folosind Go
 28 ore

Numărul de participanți


Pret per participant

Mărturii (7)

Upcoming Courses

Categorii înrudite