A szinkron kommunikáció blokkolja a hívót, amíg válasz érkezik; az aszinkron kommunikáció üzenetet küld és várakozás nélkül folytatódik. Mindkettő eltérő kompromisszumokat jelent a csatolásban, késésben és rugalmasságban.
A szinkron kommunikáció blokkolja a hívót, amíg válasz érkezik; az aszinkron kommunikáció üzenetet küld és várakozás nélkül folytatódik. Mindkettő eltérő kompromisszumokat jelent a csatolásban, késésben és rugalmasságban.
| Szempont | Szinkron (REST/gRPC) | Aszinkron (messaging) |
|---|
| A hívó vár? | Igen | Nem |
| Időbeli csatolás | Szoros | Laza |
| Rugalmasság az üzemszünetekre | Alacsony | Magas (broker pufferez) |
| Konzisztencia | Azonnali | Végül konzisztens |
| Komplexitás | Alacsonyabb | Magasabb |
| Hibakeresés | Könnyebb (lineáris) | Nehezebb (folyamatok) |
SYNC: Caller ──request──▶ Service
Caller ◀─response── Service (blocked the whole time)
ASYNC: Caller ──message──▶ [ Queue ] ──▶ Service
Caller continues immediately; Service handles it later
Az aszinkron elhallgatja a hibákat — egy elveszett vagy mérgezett üzenet csendesen elronthat egy munkafolyamatot. Szükséges a halott levél sorok és a monitorozás.
A választás közvetlenül vezérli, hogyan terjednek a hibák: a szinkron hívások gyorsan és nyíltan meghibásodnak, az aszinkron üzenetek leválasztanak, de a problémákat a fogyasztókra halasztják.
Helyesen kombinálva — szinkron a szélén, aszinkron a munkafolyamatokhoz — alapvető készség az ellenálló mikroszolgáltatások felépítésében.