Sobes.tech
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:

  1. 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.
  2. 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.