Comments 11
Подскажите, пожалуйста, где можно почитать про Windows Flow. Поиск не нашёл внятного ответа.
Сейчас эта технология deprecated и недоступна в .NET Core и .NET 5.
Те, кто построил на ней множество бизнес-процессов, рвут волосы из разных мест в ужасе, потому что не апгрейдишь инфраструктуру. Можно бы оставить части WF на .NET4, а новое писать на .NET5, но WF взаимодействует с внешними системами по WCF, а WCF тоже deprecated.
https://docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/
https://balka-book.com/programmirovanie-v-net-401/osnovyi_windows_workflow_foundation-1334
Здесь правильно сказали до меня, что технология deprecated. Однако, MS пропагандируют новую итерацию: Microsoft Flow (совместно с Office 365).
Вообще говоря, вещь была сногсшибательная, но как всегда, MS пустила весь курятник с курами несущими золотые яйца под нож.
Дальше, в зависимости от типа проблемы и бизнес-задачи, которую выполняет сага, запустить алгоритм автоматического восстановления системы (например, если подобные проблемы встречались и известна последовательность действий для их устранения) или сообщить о необходимости ручного изучения проблемы.
Что в сагах так это то, что разработчику при непредвиденных ошибках приходится влезать в разные системы и вручную исправлять данные, когда как при 2PC нужно исправить только код, данные ни в одной базе не будут изменены при сбое.
Вам не кажется, что компенсирующая транзакция - это не транзакция вообще? Просто хотя бы потому, что противоречит ACID.
- Прошли раги 1-4 из примера в статье, а OrderService нет вообще запущеного...
- Прошли раги 1-4 из примера в статье, а OrderService запущен но не отвечает...
- Прошли раги 1-4 из примера в статье, а OrderService ответил… через трое суток...
- Прошли раги 1-4 из примера в статье, а OrderService сконфигурирован на UAT базу...
Это не сага, это — плач.
Two-phase commit прямо в том виде, в котором описан у Дейта :)
Но название модное, согласен :)
Однако "Instead 2PC" намекает на то, что это все же динамический Two phase commit, то есть с неизвестным заранее координатором.
Паттерн: Сага