CQRS |Источник события |Посмотреть проекцию |Параллелизм |Причинная последовательность - PullRequest
0 голосов
/ 17 апреля 2019

Можем ли мы распараллелить построение представлений?может быть на основе агрегатного идентификатора события.

Предположим, что в нашем DDD есть два агрегата, Route & Trip (домен: система управления школьным автобусом).Если представления просты:

  • События, происходящие в агрегатах маршрутов, будут проецироваться в таблицу «Маршрут».Записи в таблице маршрутов зависят только от данных, содержащихся в событиях агрегата маршрутов.
  • События, происходящие в агрегатах маршрутов, будут проецироваться в таблицу «Поездки».Записи в таблице Trip зависят только от данных, содержащихся в событиях агрегата Trip.
  • (материализованное) представление - назовем его RouteTrip - которое объединяет записи в таблице маршрутов и таблице поездок.

В этом случае возможно Я могураспараллелить построители представлений, возможно, по статистическому идентификатору события.Каждый поток / процесс будет использовать события одного и того же экземпляра агрегата.Ведь RouteTrip зависит только от конечного состояния соединенных маршрутов и поездок ... или нет?Я думаю, это слишком ограничительно, только для самых тривиальных случаев.

У меня складывается впечатление, что события действительно должны обрабатываться строго последовательно (даже в зданиях вида).В самом деле?

Кто-нибудь имел опыт проектирования проекций представлений в архитектуре CQRS?

Может быть связано: CQRS (получение событий): проекции с несколькими агрегатами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...