Что касается условия отмены, лучший способ рассмотреть это, чтобы получить это как отдельное событие от авторитетного ядра. Это единственная система, которая знает и может инициировать событие типа «Перерасчет счета», которое само по себе может вызвать уведомление, комиссию, уведомление для менеджера филиала ...

тим, у меня есть банковское приложение (я не занимаюсь разработкой банковского приложения, однако, полагаю, оно отражает мою точку зрения, поскольку оно используется во многих примерах Event Sourcing), которое генерирует следующие сообщения:

1) Apply £110 withdrawal to account A
2) Apply £70 credit to account A
3) Apply £99 withdrawal to account A
4) Apply £42 withdrawal to account A

Скажите, что у счета A нет овердрафта. Теперь скажите, что третье сообщение терпит неудачу из-за ошибки, характерной только для этого сообщения, например, ошибка сериализации. В этом сценарии сообщение 3 добавляется в очередь ошибок NServiceBus.

Насколько я понимаю, такой инструмент, как Service Pulse, используется администратором для изолированной обработки очереди ошибок. Скажем, администратору требуется два часа, чтобы обработать ошибку, и за это время четвертая транзакция завершена. Не означает ли это, что четвертая транзакция обрабатывается до третьей транзакции, и счет может перейти в овердрафт?

Я закончил онлайн-курс для NServiceBus, и я до сих пор не знаю, как это сделать. Я также посмотрел на подобные вопросы здесь, например:В CQRS как работать с NServiceBus для обновления хранилища команд и запросов

Ответы на вопрос(1)

Ваш ответ на вопрос