Schița de curs

Ziua 1: Fundamentele arhitecturii bazate pe evenimente în Go

  • Introducere în EDA
    • Ceea ce este Arhitectura Bazată Pe Evenimente?
    • Compararea sistemelor Monolitice, Microservices și Bazate Pe Evenimente
    • Modul în care modelul de concurență și goroutinele ușor de utilizat ale lui Go îl fac ideal pentru EDA
  • Concepte Principale și Beneficii
    • Dецуплингу, scalabilitatea și reziliența în sistemele de afaceri
    • Definirea evenimentelor, producătorilor, consumatorilor și brokerilor de evenimente
    • Exemple din viața reală și studii de caz unde Go alimentează sistemele de evenimente performante
  • Teorema CAP și Trade-offs în EDA
    • Pregătirea despre Consistență, Disponibilitate și Toleranță la Partiționare
    • Impactul lui EDA asupra acestor proprietăți
    • Strategii pentru echilibrarea consistenței și disponibilității în sistemele bazate pe Go

Ziua 2: Evenimente, Mesaje și Pregătiri Communication în Go

  • Comprezunerea Tipurilor de Evenimente
    • Evenimentele din Domeniu vs. Evenimentele de Integrare
    • Evenimentele Sincrone vs. Asincrone în aplicațiile Go
  • Pregătiri de Messajing în Practică
    • Publish-Subscribe (Pub/Sub) în Go 
    • Modul de proiectare și structurare a plișoarelor de evenimente folosind JSON, Protocol Buffers sau Avro în Go
  • Implementarea Gestionării Evenimentelor în Go
    • Pregătirea despre bibliotecile și framework-urile populare pentru messaging în Go 
    • Exemple de cod: distribuirea și procesarea evenimentelor folosind modele idiomatic Go
    • Sesiune practică: Construcția unui serviciu bazat pe evenimente simplu în Go

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

  • Selectarea și Integrarea Brokerilor de Evenimente
    • Pregătirea despre brokerii populare: Apache Kafka, RabbitMQ și NATS
    • Compararea scenariilor de utilizare și cele mai bune practici pentru sistemele bazate pe Go
  • Configurarea Infrastructurii de Messajing
    • Docker Compose setup pentru Kafka, RabbitMQ, sau NATS
    • Configurarea topic-urilor, exchange-urilor, coilelor și canalelor
    • Pregătirea despre bibliotecile clientului Go
  • Sesiune Practică
    • Construcția unui microserviciu de exemplu în 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 Subiecte Avansate în Go EDA

  • Deploying Aplicațiile Bazate Pe Evenimente din Go pe Kubernetes
    • Containerizarea aplicațiilor Go pentru producție
    • Deploying Kafka (sau alte brokeri) pe clusterele Kubernetes
    • Pregătirea de introducere în KEDA (Kubernetes Event-Driven Autoscaling) pentru a scalare consumatorii de evenimente
  • Managementul Erorilor și Monitorizarea
    • Gestionarea eșecurilor de eveniment cu strategii 
    • Implementarea observabilității în serviciile Go
  • Subiecte Avansate și Q&A
    • Explorarea Arhitecturilor Bazate Pe Evenimente Serverless cu Go
    • Choreografie vs. Orchestration de evenimente: scenarii de utilizare și considerente de design
    • Pitfalle comune, lecții învățate și cele mai bune practici
    • Sesiune deschisă Q&A și rezolvarea interactivă a problemelor

 


Cerințe

Go (Golang) competențe de programare, incluzând concurența (goroutines, canale)
Compreensiune de bază a arhitecturii software (monolite, microservicii)
Familiaritate cu Docker și Docker Compose
Cunoștințe de bază despre API-uri REST și rețele
Experiență în utilizarea unor instrumente CLI și Git
Opțional: Exponere la Kubernetes și sisteme de mesajare (Kafka, RabbitMQ, NATS)
 
 28 ore

Numărul de participanți


Pret per participant

Mărturii (7)

Upcoming Courses

Categorii înrudite