Sobes.tech
Middle — Senior

Môžete vysvetliť koncept choreografie v Saga a ako sa líši od orchestrácie?

sobes.tech AI

Odpoveď od AI

V kontexte vzoru Saga na správu distribuovaných transakcií:

  • Choreografia — je prístup, pri ktorom každá služba samostatne reaguje na udalosti iných služieb a vykonáva svoje vlastné akcie. Neexistuje žiadny centrálny riadič; interakcia prebieha výmenou udalostí. To znižuje prepojenosť a zvyšuje škálovateľnosť, ale je ťažšie sledovať celkový tok.

  • Orchestration — tu je centrálny orchestrátor (koordinátor), ktorý riadi sekvenciu volaní služieb, kontroluje vykonávanie a kompenzáciu transakcií. To uľahčuje kontrolu a ladenie, ale vytvára bod zlyhania a zvyšuje prepojenosť.

Príklad choreografie: služba A zverejní udalosť, služba B počúva a reaguje, potom zverejní svoju udalosť, na ktorú reaguje služba C, atď.

Príklad orchestrácie: orchestrátor volá službu A, čaká na výsledok, potom volá službu B atď., riadiac celú logiku.