Что такое CQRS
Разделение команд и запросов
CQRS (Command Query Responsibility Segregation) — архитектурный паттерн, разделяющий операции чтения и записи данных.
Основные принципы
- Команды (Commands) — изменяют состояние системы
- Запросы (Queries) — только читают данные, не меняя их
- Отдельные модели для чтения и записи
Преимущества
- Независимое масштабирование операций чтения и записи
- Оптимизация моделей под конкретные задачи
- Упрощение сложной бизнес-логики
- Лучшая производительность при высоких нагрузках
Применение
- Системы с разным соотношением чтения/записи
- Event Sourcing архитектуры
- Микросервисные системы
- Высоконагруженные приложения