Как обрабатывать параллельный запрос на командной шине?
Обзор Условия гонки не существуют
Разница во времени в микросекундах не должна влиять на основные виды делового поведения.
В проекте, где вы фиксируете решения, принятые где-то еще (человек решил удалить, человек решил прокомментировать), вы должны продумать тот факт, что люди работают одновременно, и можетна самом деле принимать противоречивые решения.
Другими словами, проблема требует решения в вашей модели, а не в вашей системе.
В общем, ваше постоянное хранилище следует понимать как принуждение к победе первого автораполитика. Таким образом, для обновления хранилища могут быть запущены два параллельных процесса (или, другими словами, вам часто нужно делегировать управление параллелизмом в постоянное хранилище, а не пытаться управлять им в процессах без сохранения состояния). Идея заключается в том, что база данных изменяется гораздо реже, чем модель домена, и поэтому гораздо проще обеспечить, чтобы в каждый момент времени работала только одна копия.
Примечание. в частности cqrs или источник событий ;у вас были бы те же гоночные соображения, если бы у вас была одна модель и вы заменяли надежную копию текущего состояния.