Sinhroma komunikacija blokira klicatelja, dokler ne pride odgovor; asinhroma komunikacija pošlje sporočilo in se nadaljuje brez čakanja. Vsaka ima drugačne kompromise glede sklopljenosti, zakasnitve in odpornosti.
Sinhroma komunikacija blokira klicatelja, dokler ne pride odgovor; asinhroma komunikacija pošlje sporočilo in se nadaljuje brez čakanja. Vsaka ima drugačne kompromise glede sklopljenosti, zakasnitve in odpornosti.
| Vidik | Sinhrona (REST/gRPC) | Asinhroma (messaging) |
|---|
| Klicatelj čaka? | Da | Ne |
| Časovna sklopljenost | Tesna | Ohlapna |
| Odpornost na izpade | Nizka | Visoka (broker bufferira) |
| Skladnost | Neposredna | Eventualna |
| Kompleksnost | Nižja | Višja |
| Razhroščljivost | Lažja (linearna) | Težja (tokovi) |
SYNC: Caller ──request──▶ Service
Caller ◀─response── Service (blocked the whole time)
ASYNC: Caller ──message──▶ [ Queue ] ──▶ Service
Caller continues immediately; Service handles it later
Asinhroma skriva napake — izgubljeno ali strupeno sporočilo lahko tiho prekine potek dela. Potrebne so vrste za mrtve črke in spremljanje.
Odločitev neposredno nadzoruje, kako se napake širijo: sinhroni klici hitro in vidno ne uspejo, asinhroma sporočila pa razdvojijo, toda odložijo probleme porabnikom.
Dobro mešanje — sinhrono na robu, asinhrono za poteke — je osnovna veščina pri gradnji odpornih mikroservices.