Sobes.tech
Middle — Senior

Meg tudná magyarázni a Saga-ban lévő koreográfia fogalmát, és hogy ez hogyan különbözik az orchesztrációtól?

sobes.tech MI

Válasz az MI-től

A Saga mintában a többrészletes tranzakciók kezeléséhez:

  • Koreográfia — ez egy megközelítés, ahol minden szolgáltatás önállóan reagál más szolgáltatások eseményeire, és végrehajtja saját műveleteit. Nincs központi vezérlő; az interakció események cseréjén keresztül történik. Ez csökkenti a kötődést és növeli a skálázhatóságot, de nehezebb nyomon követni az általános folyamatot.

  • Orkesztráció — itt van egy központi orkesztrátor (koordinátor), amely irányítja a szolgáltatások hívásának sorrendjét, ellenőrzi a tranzakciók végrehajtását és kompenzációját. Ez megkönnyíti az ellenőrzést és a hibakeresést, de létrehoz egy hibapontot és növeli a kötődést.

Példa koreográfiára: az A szolgáltatás közzétesz egy eseményt, a B szolgáltatás hallgat és reagál, majd közzéteszi saját eseményét, amelyre a C szolgáltatás reagál, stb.

Példa orkesztrációra: az orkesztrátor meghívja az A szolgáltatást, várja az eredményt, majd meghívja a B szolgáltatást, stb., és kezeli az egész logikát.