Junior — Middle
Môžeš uviesť hlavné typy vzoru Saga a vysvetliť ich rozdiely?
sobes.tech AI
Odpoveď od AI
Vzor Saga sa používa na riadenie distribuovaných transakcií tým, že ich rozdeľuje na sériu lokálnych transakcií s kompenzačnými krokmi v prípade chýb.
Hlavné typy vzoru Saga:
-
Choreografia (Choreography)
- Každá lokálna transakcia publikuje udalosti, ktoré počúvajú iné služby.
- Neexistuje žiadny centrálny koordinátor.
- Jednoduchšie na implementáciu, ale ťažšie na kontrolu poradia a spracovanie chýb.
-
Orchestrace (Orchestration)
- Centrálny orchestrátor riadi vykonávanie lokálnych transakcií odosielaním príkazov službám.
- Umožňuje explicitnejšiu kontrolu procesu a spracovania chýb.
- Zložitejšia architektúra kvôli prítomnosti centrálneho komponentu.
Rozdiely:
- V choreografii je riadenie rozptýlené, v orchestrácii — centralizované.
- Orchestrace ponúka väčšiu kontrolu, choreografia je viac decentralizovaná a škálovateľná.
Výber závisí od požiadaviek systému a zložitosti obchodných procesov.