Я понимаю, что все три концепции связаны с долгосрочными транзакциями.
Менеджер процессов, насколько мне известно, конечный автомат, который просто реагирует на события и испускает команды. Он не содержит никакой бизнес-логики, он просто выполняет маршрутизацию. Его цель - довести вас до конечного состояния, когда вы знаете, что ваша транзакция прошла успешно или не удалось.
До сих пор так хорошо.
Но теперь мои проблемы в понимании начинают:
- Что такое сага в отличие от диспетчера процессов?
- Существует также подход, основанный на документах, как указано в CagRS sagas - я понял их правильно?... как я понимаю, документ - это всего лишь "кусок бумаги", где вы делаете заметки и передаете их. Как это вписывается в концепцию команд и событий?
Может кто-нибудь объяснить различия, и - что меня особенно интересовало бы - какие из этих понятий хороши для чего и когда вам что-то нужно. Являются ли они взаимоисключающими? Можете ли вы пройти весь путь только с одним из них? Существуют ли сценарии, в которых вам нужно больше одного?...