Što je odvajanje odgovornosti za naredbeni upit s uzorkom arhitekture izvora događaja i predmemoriranja?

Segregacija odgovornosti za upite naredbi s izvorom događaja i predmemorijom (CQRS s ES i predmemorijom) arhitektonski je obrazac koji odvaja upite (čitanje) od naredbi (pisanje) i iskorištava izvor događaja i predmemoriranje za poboljšanje performansi.

U ovom obrascu, naredbe se izvršavaju korištenjem modela pisanja koji ažurira stanje sustava i objavljuje događaje brokeru poruka ili sabirnici događaja. Ti se događaji zatim pohranjuju u pohranu događaja, koja služi kao izvor istine za trenutno stanje sustava. Model pisanja može se zatim ponovno izgraditi ponovnim reproduciranjem događaja iz pohrane događaja kad god je to potrebno.

Na strani upita, model čitanja koristi se za dohvaćanje podataka iz sustava. Ovaj model čitanja optimiziran je za izvedbu upita i ažurira se asinkrono pretplatom na događaje iz pohrane događaja. Predmemoriranje se također može koristiti za daljnju optimizaciju izvedbe upita pohranjivanjem podataka kojima se često pristupa u memoriju.

Odvajanjem čitanja i pisanja i iskorištavanjem izvora događaja i predmemoriranja, CQRS s ES i predmemorijom može poboljšati skalabilnost, pouzdanost i performanse sustava. Osobito je koristan za sustave sa složenim modelima podataka i velikim opterećenjem upita.

Datum objave: