Intrati in legatura

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

Numărul de participanți


Pret per participant

Mărturii (7)

Cursuri viitoare

Categorii înrudite