Synkron kommunikation blokerer afsenderen, indtil et svar ankommer; asynkron kommunikation sender en besked og fortsætter uden at vente. Hver skaber forskellige afvejninger inden for koblingen, latency og modstandskraft.
Synkron kommunikation blokerer afsenderen, indtil et svar ankommer; asynkron kommunikation sender en besked og fortsætter uden at vente. Hver skaber forskellige afvejninger inden for koblingen, latency og modstandskraft.
| Aspekt | Synkron (REST/gRPC) | Asynkron (messaging) |
|---|
| Venter afsender? | Ja | Nej |
| Tidsmæssig kobling | Stram | Løs |
| Modstandskraft over for driftsforstyrrelser | Lav | Høj (broker bufferer) |
| Konsistens | Øjeblikkelig | Eventuel |
| Kompleksitet | Lavere | Højere |
| Fejlfinding | Nemmere (lineær) | Sværere (flows) |
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 fejl — en tabt eller giftig besked kan stille ødelægge en arbejdsgang. Du har brug for dead-letter queues og overvågning.
Valget styrer direkte, hvordan fejl spredes: synkrone kald mislykkes hurtigt og synligt, asynkrone beskeder afkobler, men udsætter problemer til forbrugere.
At blande dem godt — synkron på kanten, asynkron for arbejdsgange — er en kernekompetence inden for opbygning af modstandsdygtige mikroservices.