Što je obrazac Segregacija odgovornosti za naredbe i upite s izvorom događaja?

Odvajanje odgovornosti za naredbe i upite s izvorom događaja (CQRS+ES) arhitektonski je obrazac koji odvaja odgovornost za obradu naredbi (operacije pisanja) od odgovornosti za obradu upita (operacije čitanja) korištenjem izvora događaja.

U CQRS+ES, operacijama pisanja upravlja model Command, koji prima naredbe od klijenata i pretvara ih u događaje. Događaji se zatim pohranjuju u spremište samo za dodavanje koje se naziva Event Store. Spremište događaja je sustav zapisa, što znači da se sve promjene stanja sustava bilježe kao niz događaja.

S druge strane, operacijama čitanja upravlja Query model, koji čita podatke iz Event Storea i generira modele čitanja. Ovi modeli čitanja optimizirani su za specifične upite i mogu se pohraniti u predmemoriju za brže čitanje.

Odvajanje odgovornosti za naredbe i upite omogućuje skalabilnost i optimizaciju performansi. Model Command može se optimizirati za operacije s teškim upisom, dok se model Query može optimizirati za operacije s teškim čitanjem.

Općenito, CQRS+ES pruža način za implementaciju visoko skalabilnog sustava otpornog na pogreške i pokretanog događajima koji se može lako razvijati tijekom vremena.

Datum objave: