Привет, у меня есть следующий вариант, с которым я не понимаю, как добиться согласованности с ним:
- Пользователь 1 использует пользовательский интерфейс на основе задач для изменения имени клиента
- Служба приложений вызывает операцию в совокупности
- Событие срабатывания агрегата для имени клиента изменено
- шина отправляет сообщение, используя nservicebus
- Сервис NServicebus умирает
- Пользователь 2 получает агрегат и звонки меняют адрес
- Агрегатная операция называется
- Событие домена запущено
- Сообщение отправлено в автобус
- Автобус перезапускается
- Сообщение 2 получено первым
- Сообщение 2 обработано, и другой ограниченный контекст обновлен новым адресом
- Сообщение 1 получено сейчас в неправильном порядке
- Что происходит сейчас
В 13 будет ли ошибка оптимистичного параллелизма, если мы передадим версию агрегата в событии?
Если это так, сообщение 1 новое применяется к объекту в другом контексте. Как нам даже поддерживать последовательность?
Это проблема, которая не позволяет мне применять события в моем домене. Любая помощь приветствуется.
Основная идея - обновить другой агрегат в другом контексте. Я просто зациклился на технических аспектах параллелизма.
Мы не используем источник событий или CQRS в смысле обработчика команд и передачи команд по шине. Мы хотим, чтобы асинхронно происходила только обработка событий, поскольку у нас есть существующий дизайн, который мы не хотим изменять.
Блэр