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
Recensioni (7)
scriviamo alcuni codici in Go e impariamo alcune nozioni riguardo all'EDA, come gli eventi, quando e come utilizzarli.
Alin
Corso - Event Driven Architecture Custom
Traduzione automatica
È stato un corso interattivo, senza tempo per dormire :)). È stato bello lavorare in squadra e poi dibattere sui risultati ottenuti.
Alina
Corso - Event Driven Architecture Custom
Traduzione automatica
Ho apprezzato molto le discussioni e gli esempi forniti che ci hanno permesso di arrivare autonomamente alle conclusioni che voleva condividere con noi. Mi è piaciuto il ritmo, l'inglese, la pazienza, soprattutto perché anche se non davamo la migliore risposta, non diceva che era sbagliata, ma forniva esempi di ciò che poteva essere meglio.
Simona
Corso - Event Driven Architecture Custom
Traduzione automatica
Le discussioni aperte e il passaggio dall'understanding dei problemi/motivi (il `perché`) all'`EDA`.
Constantin
Corso - Event Driven Architecture Custom
Traduzione automatica
l'approccio di presentare le cose basandosi pesantemente sull'interazione e sugli esempi
Virgil
Corso - Event Driven Architecture Custom
Traduzione automatica
La natura interattiva del corso L'approccio di apprendimento basato sulla scoperta personale, in cui avete trovato le risposte da soli Il focus pratico con esempi della vita reale che hanno reso i concetti più comprensibili
Roxana Sandu
Corso - Event Driven Architecture Custom
Traduzione automatica
Molto interattivo. L'istruttore era molto competente e paziente.
Robert
Corso - Event Driven Architecture Custom
Traduzione automatica