Sobes.tech
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.
  • GetOrderDetails sorğ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.