Встречается на собеседованиях • сегодня
Как связан паттерн Event Sourcing с паттерном CQRS
Event Sourcing и CQRS часто используются вместе, но они решают разные задачи.
Event Sourcing — это хранение состояния приложения как последовательности событий. Вместо сохранения текущего состояния, сохраняются все изменения (события), которые к нему привели.
CQRS — это разделение моделей чтения (Query) и записи (Command). Запись (Command) изменяет состояние, а чтение (Query) — только возвращает данные.
Связь:
- Event Sourcing естественно ложится на Command-часть CQRS, так как команды генерируют события.
- Query-часть может использовать оптимизированные проекции (read models) на основе событий для быстрого чтения.
Пример:
typescript
// Command-сторона (Event Sourcing)
class Order {
apply(event: OrderEvent) { /* сохраняем событие */ }
placeOrder() {
this.apply(new OrderPlacedEvent(/* данные */));
}
}
// Query-сторона (отдельная модель)
class OrderReadModel {
getOrders() { /* возвращает данные из оптимизированной БД */ }
}Использование вместе дает масштабируемость и гибкость, но увеличивает сложность системы.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы