Synkron kommunikation blockerar anroparen tills ett svar anländer; asynkron kommunikation skickar ett meddelande och fortsätter utan att vänta. Var och en gör olika avvägningar när det gäller koppling, latens och motståndskraft.
Synkron kommunikation blockerar anroparen tills ett svar anländer; asynkron kommunikation skickar ett meddelande och fortsätter utan att vänta. Var och en gör olika avvägningar när det gäller koppling, latens och motståndskraft.
| Aspekt | Synkron (REST/gRPC) | Asynkron (messaging) |
|---|
| Väntar anroparen? | Ja | Nej |
| Temporal koppling | Tight | Lös |
| Motståndskraft mot avbrott | Låg | Hög (broker buffrar) |
| Konsistens | Omedelbar | Eventuell |
| Komplexitet | Lägre | Högre |
| Felsökning | Enklare (linjär) | Svårare (flöden) |
SYNC: Caller ──request──▶ Service
Caller ◀─response── Service (blocked the whole time)
ASYNC: Caller ──message──▶ [ Queue ] ──▶ Service
Caller continues immediately; Service handles it later
Asynkron döljer fel — ett förlorat eller giftigt meddelande kan tyst bryta ett arbetsflöde. Du behöver dead-letter-köer och övervakning.
Valet kontrollerar direkt hur fel sprids: synkrona anrop misslyckas snabbt och synligt, asynkrona meddelanden kopplar bort men skjuter upp problemen till konsumenter.
Att blanda dem väl — synkron vid kanten, asynkron för arbetsflöden — är en kärnfärdighet när man bygger motståndskraftiga mikrotjänster.