Komunikimi sinkron bllokon thirrësin derisa të arrijë një përgjigje; komunikimi asinkron dërgon një mesazh dhe vazhdon pa pritur. Secila bën kompromise të ndryshëm në lidhjen e fortë, vonesën dhe reziliencën.
Komunikimi sinkron bllokon thirrësin derisa të arrijë një përgjigje; komunikimi asinkron dërgon një mesazh dhe vazhdon pa pritur. Secila bën kompromise të ndryshëm në lidhjen e fortë, vonesën dhe reziliencën.
| Aspekti | Sinkron (REST/gRPC) | Asinkron (messaging) |
|---|
| A pret thirrësi? | Po | Jo |
| Lidhja kohore | Fortë | E lirë |
| Rezilienca ndaj ndërprerjeve | E ulët | E lartë (brokeri memorizon) |
| Konsistenca | E menjëhershme | Eventual |
| Kompleksiteti | Më i ulët | Më i lartë |
| Mundësia për debugim | Më e lehtë (lineare) | Më e vështirë (flukse) |
SYNC: Caller ──request──▶ Service
Caller ◀─response── Service (blocked the whole time)
ASYNC: Caller ──message──▶ [ Queue ] ──▶ Service
Caller continues immediately; Service handles it later
Asinkronia fsheh dështimet — një mesazh i humbur ose i keq mund të thyejë në heshtje një workflow. Ju nevojiten radhë për mesazhe të vdekur dhe monitorim.
Odlesa kontrollon drejtpërdrejt se si përhapin dështimet: thirrjet sinkrone dështojnë shpejt dhe në mënyrë të dukshme, mesazhet asinkrone shkëpusin lidhjen por ia shtyjnë problemet konsumatorëve.
Përzierja e tyre mirë — sinrkron në buzë, asinkron për workflows — është një aftësi thelbësore në ndërtimin e mikroshërbimeve reziliente.