Struttura del corso

Giorno 1: Fondamenti dell'Architettura Orientata agli Eventi in Go

  • Introduzione all'EDA
    • Cosa è l'Architettura Orientata agli Eventi?
    • Confronto tra sistemi monolitici, microservizi e basati su eventi
    • Come il modello di concorrenza di Go e le goroutines leggere lo rendono ideale per l'EDA
  • Concetti Fondamentali & Vantaggi
    • Decoupling, scalabilità e resilienza nei sistemi aziendali
    • Definizione di Eventi, Produttori, Consumatori e Broker degli Eventi
    • Esempi reali e casi di studio dove Go alimenta sistemi event-driven ad alta prestazione
  • Teorema CAP & Scelte di Compromesso in EDA
    • Panoramica sulla Consistenza, Disponibilità e Tolleranza alle Partizioni
    • Impatto dell'EDA su queste proprietà
    • Strategie per bilanciare consistenza e disponibilità nei sistemi basati su Go

Giorno 2: Eventi, Messaggi e Pattern di Comunicazione in Go

  • Comprensione dei Tipi di Evento
    • Eventi del Dominio vs. Eventi di Integrazione
    • Eventi sincroni vs. asincroni nelle applicazioni Go
  • Pattern di Messaggistica in Pratica
    • Pubblicazione-Sottoscrizione (Pub/Sub) in Go
    • Come progettare e strutturare payload degli eventi utilizzando JSON, Protocol Buffers o Avro in Go
  • Implementazione della Gestione degli Eventi in Go
    • Panoramica delle librerie e framework Go più popolari per la messaggistica
    • Esempi di codice: dispatching e processing degli eventi utilizzando pattern idiomatici Go
    • Sessione pratica: Costruzione di un servizio event-driven semplice in Go

Giorno 3: Sistemi di Messaggistica & Broker degli Eventi con Go

  • Selezione e Integrazione dei Broker degli Eventi
    • Panoramica sui broker più popolari: Apache Kafka, RabbitMQ e NATS
    • Confronto di casi d'uso e best practice per i sistemi basati su Go
  • Configurazione dell'Infrastruttura di Messaggistica
    • Setup con Docker Compose per Kafka, RabbitMQ o NATS
    • Configurazione di topics, exchanges, queues e channels
    • Panoramica delle librerie client Go
  • Workshop Pratico
    • Costruzione di un microservizio Go campione che produce e consuma eventi
    • Integrazione del servizio con il broker degli eventi scelto
    • Debugging e testing dei flussi di eventi

Giorno 4: Distribuzione, Monitoraggio e Argomenti Avanzati in Go EDA

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

Requisiti

  • Competenza in Go (Golang), inclusa l'uso di goroutines e canali
  • Comprensione di base dei modelli di architettura software come monoliti e microservizi
  • Familiarità con Docker e Docker Compose
  • Conoscenza di base delle API REST e dei concetti di rete
  • Esperienza con strumenti da riga di comando e Git
  • Facoltativo ma utile: esposizione precedente a Kubernetes e sistemi di messaggistica come Kafka, RabbitMQ o NATS

Audience

  • Sviluppatori Go che costruiscono applicazioni scalabili basate su eventi
  • Ingegneri software in transizione da architetture monolitiche o basate su REST a sistemi asincroni
  • DevOps e ingegneri cloud che lavorano con microservizi containerizzati o distribuiti
  • Architetti tecnici e designer di sistemi che esplorano pattern EDA utilizzando Go
 28 Ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (7)

Corsi in Arrivo

Categorie relative