Kursplan

Dag 1: Grundläggande eventdriven arkitektur i Go

  • Introduktion till EDA
    • Vad är eventdriven arkitektur?
    • Jämförelse av monolitiska, mikrotjänster och eventdrivna system
    • Hur Go:s koncurrensmodell och lätta goroutines gör det idealiskt för EDA
  • Kärnkoncept & fördelar
    • Losekoppling, skalbarhet och robusthet i företagssystem
    • Definition av händelser, producenter, förbrukare och eventbroker
    • Verkliga exempel och fallstudier där Go driver högpresterande eventdrivna system
  • CAP-teorem & kompromisser i EDA
    • Översikt över konsistens, tillgänglighet och partitionstolerans
    • EDAs påverkan på dessa egenskaper
    • Strategier för att balansera konsistens och tillgänglighet i Go-baserade system

Dag 2: Händelser, meddelanden och kommunikationsmönster i Go

  • Förståelse av händelsetyper
    • Domänhändelser vs. integreringshändelser
    • Synkrona vs. asynkrona händelser i Go-applikationer
  • Meddelandemönster i praktiken
    • Publish-Subscribe (Pub/Sub) i Go
    • Hur man designar och strukturerar händelsepayloads med JSON, Protocol Buffers eller Avro i Go
  • Implementering av händelsbehandling i Go
    • Översikt över populära Go-bibliotek och -ramverk för meddelanden
    • Kodexempel: distribution och bearbetning av händelser med idiomatic Go-mönster
    • Praktisk session: Bygga en enkel eventdriven tjänst i Go

Dag 3: Meddelandesystem & Eventbroker med Go

  • Välj och integrera eventbroker
    • Översikt över populära broker: Apache Kafka, RabbitMQ och NATS
    • Jämförelse av användningsfall och bästa praxis för Go-baserade system
  • Ställa upp meddelandinfrastruktur
    • Docker Compose-inställning för Kafka, RabbitMQ eller NATS
    • Konfiguration av ämnen, utbyten, köer och kanaler
    • Översikt över Go-klientbibliotek
  • Praktisk workshop
    • Bygga ett exempel på en Go-mikrotjänst som producerar och konsumerar händelser
    • Integrera tjänsten med den valda eventbrokern
    • Felsöka och testa händelseflöden

Dag 4: Distribuering, övervakning och avancerade ämnen i Go EDA

  • Distribuera eventdrivna Go-applikationer på Kubernetes
    • Containerisering av Go-applikationer för produktion
    • Distribuera Kafka (eller andra broker) i Kubernetes-kluster
    • Introduktion till KEDA (Kubernetes Event-Driven Autoscaling) för skalning av händelsförbrukare
  • Felhantering och övervakning
    • Hantera händelsefel med strategier
    • Implementera övervakning i Go-tjänster
  • Avancerade ämnen & Q&A
    • Utforska serverless eventdriven arkitekturer med Go
    • Händelsekoreografi vs. orchestrering: användningsfall och designöverväganden
    • Kommona misstag, lärdomar och bästa praxis
    • Öppet Q&A-samtal och interaktiv felsökning

Krav

  • Färdighet i Go (Golang), inklusive användning av goroutines och kanaler
  • Grundläggande förståelse för mjukvaruarkitekturmodeller som monolithiska system och mikrotjänster
  • Familiaritet med Docker och Docker Compose
  • Grundläggande kunskap om REST-API:er och nätverkskoncept
  • Erfarenhet av kommandoradsverktyg och Git
  • Valfritt men hjälpsamt: tidigare erfarenhet av Kubernetes och meddelandesystem som Kafka, RabbitMQ eller NATS

Målgrupp

  • Go-utvecklare som bygger skalbara, eventdrivna applikationer
  • mjukvaruinjörer som övergår från monolitiska eller REST-baserade arkitekturer till asynkrona system
  • DevOps- och molninjörer som arbetar med containeriserade eller distribuerade mikrotjänster
  • Tekniska arkitekter och systemdesigner som utforskar EDA-mönster med Go
 28 timmar

Antal deltagare


Pris per deltagare

Vittnesmål (7)

Kommande Kurser

Relaterade Kategorier