Kursplan

Dag 1: Grunnlaget for Event-Driven Architecture i Go

  • Innføring i EDA
    • Hva er Event-Driven Architecture?
    • Sammenligning av monoliths, mikrotjenester og hendelse-drevne systemer
    • Hvordan Go’s konkurransemodell og lettværs goroutines gjør det idealt for EDA
  • Kjernekonsepter & Fordeler
    • Avkopling, skalerbarhet og robusthet i enterprise-systemer
    • Definisjon av Hendelser, Produsenter, Konsumenter og Hendelsesbrokere
    • Eksempler fra virkeligheten og kasestudier der Go drijver høyprestasjons hendelse-systemer
  • CAP-teoremet & Handelser i EDA
    • Oversikt over Konsistens, Tilgjengelighet og Partisjonstolerans
    • Påvirkning av EDA på disse egenskapene
    • Strategier for å balansere konsistens og tilgjengelighet i Go-baserte systemer

Dag 2: Hendelser, Meldinger og Kommunikasjonsmønstre i Go

  • Forklaring av Hendelsestyper
    • Domenehendelser vs. Integreringshendelser
    • Synkron vs. Asynkron hendelser i Go-applikasjoner
  • Meldingsmønstre i praksis
    • Publiser-Abonner (Pub/Sub) i Go
    • Hvordan designe og strukturere hendelselaster ved hjelp av JSON, Protocol Buffers eller Avro i Go
  • Implementering av Hendelsehåndtering i Go
    • Oversikt over populære Go-biblioteker og -rammeverk for meldinger
    • Kodeeksempler: utsending og behandling av hendelser ved hjelp av idiomatiske Go-mønstre
    • Praktisk øvelse: Bygge en enkel hendelse-drevet tjeneste i Go

Dag 3: Meldingssystemer & Hendelsesbrokere med Go

  • Velg og integrer Hendelsesbrokere
    • Oversikt over populære brokere: Apache Kafka, RabbitMQ og NATS
    • Sammenligning av brukssituasjoner og beste praksis for Go-baserte systemer
  • Sette opp Meldingsinfrastruktur
    • Docker Compose-setup for Kafka, RabbitMQ eller NATS
    • Konfigurere emner, exchanges, køer og kanaler
    • Oversikt over Go-klientbiblioteker
  • Praktisk workshop
    • Bygge et eksempel Go-mikrotjeneste som produserer og konsumerer hendelser
    • Integrasjon av tjenesten med valgte hendelsesbroker
    • Felsøking og testing av hendelsesflyt

Dag 4: Distribusjon, Overvåking og Avanserte Emner i Go EDA

  • Distribuere Go-hendelse-drevne applikasjoner på Kubernetes
    • Containerisering av Go-applikasjoner for produksjon
    • Distribusjon av Kafka (eller andre brokere) i Kubernetes-klynger
    • Innføring i KEDA (Kubernetes Event-Driven Autoscaling) for skaling av hendelse-konsumenter
  • Feilhåndtering og Overvåking
    • Håndtering av hendelsesfeil med strategier
    • Framlegging av observabilitet i Go-tjenester
  • Avanserte Emner & Q&A
    • Utforskning av Serverless Event-Driven Architectures med Go
    • Hendelseskoreografi vs. Orkestrering: Bruksområder og designoverveiegelser
    • Vanlige fallgruver, læreboksempel og beste praksis
    • Apen Q&A-sesjon og interaktiv felsøking

Krav

  • Ferdigheter i Go (Golang), inkludert bruk av goroutines og kanaler
  • Grunnleggende forståelse av programvarearkitekturmodeller som monoliths og mikrotjenester
  • Bekjentedom med Docker og Docker Compose
  • Grunnleggende kunnskap om REST APIs og nettverkskonsepter
  • Erfaring med kommandolinjeverktøy og Git
  • Valgfritt men nyttig: tidligere utsyn til Kubernetes og meldingssystemer som Kafka, RabbitMQ eller NATS

Målgruppe

  • Go-utviklere som bygger skalerbare, hendelse-drevne applikasjoner
  • Programvareingeniører som overgår fra monolittiske eller REST-baserte arkitekturer til asynkrona systemer
  • DevOps- og cloud-ingeniører som jobber med containeriserte eller distribuerte mikrotjenester
  • Tekniske arkitekter og systemdesignere som utforsker EDA-mønstre ved hjelp av Go
 28 timer

Antall deltakere


Pris per deltaker

Referanser (7)

Kommende kurs

Relaterte kategorier