Synkron kommunikasjon blokkerer oppkalleren inntil et svar ankommer; asynkron kommunikasjon sender en melding og fortsetter uten å vente. Hver gjør forskjellige avveininger i koblingen, latens og motstandskraft.
Synkron kommunikasjon blokkerer oppkalleren inntil et svar ankommer; asynkron kommunikasjon sender en melding og fortsetter uten å vente. Hver gjør forskjellige avveininger i koblingen, latens og motstandskraft.
| Aspekt | Synkron (REST/gRPC) | Asynkron (messaging) |
|---|
| Oppkaller venter? | Ja | Nei |
| Temporal kobbling | Stram | Løs |
| Motstandskraft mot avbrudd | Lav | Høy (megler buffrer) |
| Konsistens | Umiddelbar | Til slutt |
| Kompleksitet | Lavere | Høyere |
| Debuggbarhet | Lettere (lineær) | Vanskeligere (flyter) |
SYNC: Caller ──request──▶ Service
Caller ◀─response── Service (blocked the whole time)
ASYNC: Caller ──message──▶ [ Queue ] ──▶ Service
Caller continues immediately; Service handles it later
Asynkron skjuler feil — en tapt eller giftig melding kan stille bryte en arbeidsflyt. Du trenger dead-letter queues og overvåking.
Valget kontrollerer direkte hvordan feil propagerer: synkrone anrop mislykkes raskt og synlig, asynkrone meldinger frakobler men utsetter problemer til forbrukere.
Å blande dem godt — synkron på kanten, asynkron for arbeidsflyter — er en kjernekompetanse i å bygge motstandsdyktige mikrotjenester.