Struttura del corso

Giorno 1: Fondamenti dell'Architettura Event-Driven in Go

  • Introduzione all'EDA
    • Cos'è l'Architettura Event-Driven?
    • Confronto tra sistemi Monolitici, Microservices e Event-Driven
    • Come il modello di concorrenza e i leggeri goroutines dell'Go lo rendono ideale per l'EDA
  • Concetti Base & Vantaggi
    • Decoupling, scalabilità e resilienza nei sistemi aziendali
    • Definizione di Eventi, Produttori, Consumatori ed Event Brokers
    • Esempi reali e casi studio dove l'Go alimenta sistemi eventuali ad alta prestazione
  • Teorema CAP & Compromessi nell'EDA
    • Panoramica su Coerenza, Disponibilità e Tolleranza alle Partizioni
    • Impatto dell'EDA su queste proprietà
    • Strategie per bilanciare coerenza e disponibilità nei sistemi basati sull'Go

Giorno 2: Eventi, Messaggi e Pattern Communication nell'Go

  • Comprendere i Tipi di Evento
    • Eventi Domini vs. Eventi di Integrazione
    • Eventi Sincroni vs. Asincroni nelle applicazioni Go
  • Patterning dei Messaggi in Pratica
    • Publish-Subscribe (Pub/Sub) nell'Go 
    • Come progettare e strutturare i payload degli eventi utilizzando JSON, Protocol Buffers o Avro nell'Go
  • Implementazione del Handling degli Eventi nell'Go
    • Panoramica delle librerie e dei framework popolari per la messaggistica nell'Go 
    • Esempi di codice: dispatching e elaborazione degli eventi utilizzando pattern idiomatici dell'Go
    • Sessione pratica: Costruzione di un semplice servizio basato su eventi nell'Go

Giorno 3: Sistemi di Messaggistica & Event Brokers con l'Go

  • Selezione e Integrazione degli Event Brokers
    • Panoramica dei broker popolari: Apache Kafka, RabbitMQ e NATS
    • Confronto tra casi d'uso e best practice per i sistemi basati sull'Go
  • Configurazione dell'Infrastruttura di Messaggistica
    • Setup Docker Compose per Kafka, RabbitMQ, o NATS
    • Configurazione dei topic, delle exchanges, delle code e dei canali
    • Panoramica sulle librerie client dell'Go
  • Sessione Pratica
    • Costruzione di un microservizio di esempio Go che produce e consuma eventi
    • Integrazione del servizio con il broker degli eventi scelto
    • Rilievo dei bug e test delle flussate degli eventi

Giorno 4: Deployment, Monitoraggio e Argomenti Avanzati nell'Go EDA

  • Deployment delle Applicazioni Event-Driven dell'Go su Kubernetes
    • Containerizzazione delle applicazioni Go per la produzione
    • Deploy di Kafka (o altri broker) sui cluster Kubernetes
    • Introduzione al KEDA (Kubernetes Event-Driven Autoscaling) per lo scaling dei consumatori degli eventi
  • Gestione degli Errori e Monitoraggio
    • Gestione delle fallimenti degli eventi con strategie 
    • Implementazione dell'osservabilità nei servizi Go
  • Argomenti Avanzati & Q&A
    • Espansione delle Architetture Event-Driven Serverless con l'Go
    • Choreografia vs. Orchestrazione degli Eventi: Casi d'uso e considerazioni di progettazione
    • Pitfall comuni, lezioni apprese e best practice
    • Sessione Q&A aperta ed interattiva per la risoluzione dei problemi

 


Requisiti

Go (Golang) competenze di programmazione, incluse la concorrenza (goroutines, canali)
Comprensione base dell'architettura software (monoliti, microservizi)
Familiarità con Docker e Docker Compose
Nozioni di base delle REST API e networking
Esperienza nell'utilizzo degli strumenti CLI e Git
Opzionale: Esposizione a Kubernetes e sistemi di messaggistica (Kafka, RabbitMQ, NATS)
 
 28 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (7)

Corsi in Arrivo

Categorie relative