Глоссарий
Единые термины для модели предметной области, архитектуры приложения и инфраструктуры хранения событий.
Команда
Решение
Событие
Хранилище событий
Проекция
| Английский | Русский | Определение |
|---|---|---|
| event | событие | Запись о том, что уже произошло |
| domain event | событие домена | Событие, выражающее значимый для модели предметной области факт |
| stream | поток событий | Упорядоченная последовательность событий с идентификатором потока |
| projection | проекция | Преобразование, которое обрабатывает события для построения или обновления производных данных |
| subscription | подписка | Механизм доставки событий потребителю |
| read model | модель чтения | Модель, структура которой предназначена для выполнения запросов |
| write model | модель записи | Модель, которая реализует поведение предметной области и проверяет изменения состояния |
| append | добавление событий | Запись событий в конец потока |
| replay | воспроизведение | Повторная обработка сохранённых событий без повторного выполнения исходных команд |
| expected version | ожидаемая версия | Версия потока, необходимая для принятия записи |
| checkpoint | контрольная точка | Сохранённая позиция обработки, используемая для продолжения работы потребителя |
| aggregate | агрегат | Граница согласованности, объединяющая сущности и объекты-значения, доступ к которым осуществляется через корень агрегата |
| command | команда | Запрос на выполнение операции, который может быть отклонён |
| Event Sourcing | Event Sourcing | Сохранение изменений состояния в виде событий и восстановление состояния из их последовательности |
| event store | хранилище событий | Хранилище, предназначенное для сохранения и чтения потоков событий |
| durable subscription | устойчивая подписка | Подписка с позицией обработки, сохраняющейся при перезапуске потребителя |
| transient subscription | временная подписка | Подписка без сохраняемой контрольной точки потребителя |
| materialized view | материализованное представление | Сохранённый результат преобразования или запроса, поддерживаемый для последующего чтения |
| rehydration | восстановление состояния | Восстановление состояния агрегата из событий, при необходимости с использованием снимка |
| snapshot | снимок состояния | Производное состояние агрегата, сохранённое вместе с версией потока |
| eventual consistency | согласованность в конечном счёте | Модель согласованности, при которой копии или производные представления сходятся после распространения и применения изменений |
| optimistic concurrency | оптимистический контроль конкуренции | Проверка перед записью, что версия, использованная при принятии решения, не изменилась |
| bounded context | ограниченный контекст | Граница, в пределах которой действует определённая модель предметной области и её язык |
| aggregate root | корень агрегата | Сущность, через которую осуществляется доступ к агрегату и обеспечивается соблюдение его инвариантов |
| invariant | инвариант | Правило, которое должно оставаться истинным при допустимых изменениях состояния |
| command handler | обработчик команды | Компонент приложения, координирующий выполнение команды |
| repository | репозиторий | Абстракция для загрузки и сохранения агрегатов |
| CQRS | разделение ответственности команд и запросов | Использование отдельных моделей для операций, изменяющих состояние, и запросов |
| DDD | предметно-ориентированное проектирование | Подход к разработке, основанный на модели предметной области и общем языке команды |
| integration event | интеграционное событие | Событие, публикуемое по контракту для взаимодействия между приложениями или ограниченными контекстами |
Проекция и модель чтения, команда и событие, агрегат и поток — связанные, но не взаимозаменяемые понятия. Используйте один термин для каждого понятия на всех страницах.
