Händelsedriven integration
Du vill koppla ihop system så att de kan utvecklas och fela var för sig - utan synkrona kedjor som river med sig allt.
När system anropar varandra synkront blir det långsammaste anropet hela flödets tak, och ett fel fäller resten. En händelsebuss vänder på beroendet: producenter publicerar händelser, konsumenter reagerar i egen takt, och en kö absorberar toppar och stilleståndstid. Priset är att felsökning blir svårare - därför är idempotens, en dead-letter-kö och observerbarhet inte tillval här, utan grunden.
Komponenter
Event broker (Kafka / EventBridge)
Tar emot och distribuerar händelser; frikopplar avsändare från mottagare.
Producenter
Publicerar domänhändelser (t.ex. order skapad) utan att veta vem som lyssnar.
Konsumenter
Prenumererar och bearbetar händelser i egen takt; kan läggas till utan att röra producenten.
Dead-letter-kö (DLQ)
Fångar meddelanden som inte kan bearbetas så att flödet inte fastnar och inget tappas tyst.
Schema registry
Versionshanterar händelsescheman så att en ändring inte bryter konsumenter oannonserat.
Observerbarhet
Spårning och larm över hela kedjan - utan det blir asynkrona fel osynliga.
Avvägningar
Händelsedrivet framför synkrona anrop
- För
- System frikopplas, tål varandras stillestånd och absorberar lasttoppar via kön.
- Emot
- Eventuell konsistens och svårare felsökning - flödet syns inte i en enda stacktrace.
Kafka framför managed (EventBridge / Pub/Sub)
- För
- Återspelbar logg, hög genomströmning och full kontroll över retention.
- Emot
- Drift av kluster är en egen disciplin; managed tar bort den men ger mindre kontroll.
Idempotenta konsumenter framför exakt-en-gång-leverans
- För
- Robust mot dubbletter, som distribuerade köer förr eller senare levererar.
- Emot
- Kräver dedup-nycklar och lite mer logik i varje konsument.
Schema registry framför fria payloads
- För
- Brytande ändringar blir en medveten, versionerad överenskommelse.
- Emot
- Mer ceremoni vid varje ändring och ett register till att driva.
Kostnad
Managed bussar som EventBridge prissätts per publicerad händelse (storleksordningen ören per miljon), vilket gör låg till medelhög volym nästan gratis. Self-hosted Kafka byter den avgiften mot drifttid och kapacitet - sällan motiverat förrän volym eller krav på återspelning blir påtagliga. DLQ och övervakning kostar marginellt men sparar dyra, tysta dataförluster.
Ska vi bygga den här hos er?
En referensarkitektur är en startpunkt, inte en mall - det rätta valet beror på er last, ert team och era krav. Hör av dig så anpassar vi den efter sammanhanget.