Sobes.tech
Middle — Senior

Můžete vysvětlit koncept choreografie v Saga a jak se liší od orchestrace?

sobes.tech AI

Odpověď od AI

V kontextu vzoru Saga pro správu distribuovaných transakcí:

  • Choreografie — je přístup, kdy každý služba reaguje samostatně na události jiných služeb a provádí své vlastní akce. Neexistuje žádný centrální řidič; interakce probíhá výměnou událostí. To snižuje propojenost a zvyšuje škálovatelnost, ale je složitější sledovat celkový tok.

  • Orchestrace — zde je centrální orchestrátor (koordinátor), který řídí sekvenci volání služeb, kontroluje provádění a kompenzaci transakcí. To usnadňuje kontrolu a ladění, ale vytváří bod selhání a zvyšuje propojenost.

Příklad choreografie: služba A zveřejní událost, služba B poslouchá a reaguje, poté zveřejní svou událost, na kterou reaguje služba C, atd.

Příklad orchestrací: orchestrátor volá službu A, čeká na výsledek, poté volá službu B atd., řídí celou logiku.