Middle — Middle+
CQRS modelinin iş prinsipi və əsas xüsusiyyətlərini izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
CQRS (Əmr və Sorğu Məsuliyyətlərinin Ayrılması) — bu, arxitektura nümunəsidir və vəziyyətin dəyişdirilməsi əməliyyatlarını (əmrlər) və məlumatların oxunması əməliyyatlarını (sorğular) müxtəlif modellərdə ayırır.
İş prinsipi:
- Əmrlər (Commands) sistemin vəziyyətini dəyişən əməliyyatlardır. Onlar ayrıca işlənir və mürəkkəb doğrulama məntiqi və biznes qaydaları ola bilər.
- Sorğular (Queries) vəziyyəti dəyişməyən məlumatların oxunması əməliyyatlarıdır. Onlar sürətli və səmərəli məlumat əldə etmək üçün optimallaşdırılıb.
Əsas xüsusiyyətlər:
- Modellərin ayrılması hər birinin öz vəzifələrinə optimallaşdırmağa imkan verir: əmrlər modeli mürəkkəb ola bilər və biznes məntiqini dəstəkləyə bilər, sorğu modeli isə sadə və sürətlidir.
- Tez-tez sorğular üçün ayrıca saxlama və ya proyeksiya istifadə olunur, bu da oxuma performansını artırır.
- Oxuma və yazma əməliyyatlarını müstəqil şəkildə miqyaslandırmağa imkan verir.
- Modellər arasında sinxronizasiya zərurəti arxitekturanı mürəkkəbləşdirə bilər.
Nümunə: Sifariş idarəetmə sistemində:
CreateOrderəmri vəziyyəti dəyişir və sifariş yaradır.GetOrderDetailssorğusu, optimallaşdırılmış oxu modelindən istifadə edərək sifariş haqqında məlumat verir.
CQRS tez-tez Event Sourcing ilə birləşdirilir, burada vəziyyət dəyişiklikləri hadisələr kimi saxlanılır və bu, sinxronizasiya və vəziyyətin bərpasını asanlaşdırır.