← Пости

1 хв читання

CQRS і event-driven архітектура — це не одне й те саме

Сьогодні поговоримо про архітектурні патерни у високонавантажених системах. Я часто чую, як люди пов’язують або навіть ототожнюють CQRS та Event-Driven Architecture. Хоча зв’язок між ними досить слабкий.

CQRS — це про розділення потоків запитів на запис і читання з фокусом на їхній оптимізації. Для реалізації CQRS зовсім не обов’язково використовувати Event-Driven Architecture чи взагалі брокер повідомлень або подій. Хоча така реалізація теж можлива і допомагає максимально розділити компоненти запису та читання, приносячи новий біль у вигляді eventual consistency.

Про різні варіанти реалізації CQRS можна прочитати в цій статті.

Event-Driven Architecture (EDA), своєю чергою, є архітектурним підходом до побудови адаптивних, стійких і масштабованих розподілених систем за рахунок зниження зв’язаності компонентів. В його основі лежить генерація подій про зміни стану системи та побудова бізнес-процесів як реакцій на ці події. У рамках EDA існує безліч готових дизайн-патернів під різні кейси.

І що ще важливіше, як CQRS, так і EDA можна застосовувати не лише в мікросервісній архітектурі. :)

// наступний крок

Поговорімо про ваш AI delivery gap

30-хвилинний дзвінок-знайомство: ви розповідаєте, де ви зараз, а я чесно кажу, чи можу допомогти і як саме.