Здравствуйте, коллеги!
Пытаюсь разобраться, есть вопрос:
Насколько понял, одна из главных идей агрегатов — транзакционная целостность. За один запрос изменяем не более чем один экземпляр какого-либо агрегата (у Вернона).
При этом, в процессе работы с агрегатами, так же возникают «события предметной области», которые кладутся в хранилище (либо очередь) и посредством отдельного асинхронного процесса могут быть «получены» иными агрегатами в том числе в иных контекстах.
Если изложенное выше я понял верно, то должно быть строго гарантировано соответсвие событий в хранилеще событий и стейта агрегатов, которые эти события «произвели».
Т.е. вроде бы сохранение событий должно войти в туже транзакцию что и сохранение агрегата?
Если нет, то как такую целостность гарантировать?