Comments 10
Выглядит как машина состояний, применительно к ACID транзакциям. Windows Flow решает те же самые задачи (не только он), причем делая транзакции не просто «не локальными», а даже, распределенными во времени.
0
Подскажите, пожалуйста, где можно почитать про Windows Flow. Поиск не нашёл внятного ответа.
0
Видимо, речь о Windows Workflow Foundation.
Сейчас эта технология deprecated и недоступна в .NET Core и .NET 5.
Те, кто построил на ней множество бизнес-процессов, рвут волосы из разных мест в ужасе, потому что не апгрейдишь инфраструктуру. Можно бы оставить части WF на .NET4, а новое писать на .NET5, но WF взаимодействует с внешними системами по WCF, а WCF тоже deprecated.
Сейчас эта технология deprecated и недоступна в .NET Core и .NET 5.
Те, кто построил на ней множество бизнес-процессов, рвут волосы из разных мест в ужасе, потому что не апгрейдишь инфраструктуру. Можно бы оставить части WF на .NET4, а новое писать на .NET5, но WF взаимодействует с внешними системами по WCF, а WCF тоже deprecated.
0
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 пустила весь курятник с курами несущими золотые яйца под нож.
0
А какой существует план восстановления, если компенсирующая транзакция не выполнится?
+1
Например, можно сделать несколько попыток выполнить компенсирующую транзакцию, в случае их неудачи, сообщить сервису, инициирующему запуск саги, что при ее выполнении возникли проблемы.
Дальше, в зависимости от типа проблемы и бизнес-задачи, которую выполняет сага, запустить алгоритм автоматического восстановления системы (например, если подобные проблемы встречались и известна последовательность действий для их устранения) или сообщить о необходимости ручного изучения проблемы.
Дальше, в зависимости от типа проблемы и бизнес-задачи, которую выполняет сага, запустить алгоритм автоматического восстановления системы (например, если подобные проблемы встречались и известна последовательность действий для их устранения) или сообщить о необходимости ручного изучения проблемы.
0
Но сбой может возникнуть в компенсирующей транзакции.
Что в сагах так это то, что разработчику при непредвиденных ошибках приходится влезать в разные системы и вручную исправлять данные, когда как при 2PC нужно исправить только код, данные ни в одной базе не будут изменены при сбое.
Что в сагах так это то, что разработчику при непредвиденных ошибках приходится влезать в разные системы и вручную исправлять данные, когда как при 2PC нужно исправить только код, данные ни в одной базе не будут изменены при сбое.
0
Вам не кажется, что компенсирующая транзакция - это не транзакция вообще? Просто хотя бы потому, что противоречит ACID.
0
- Прошли раги 1-4 из примера в статье, а OrderService нет вообще запущеного...
- Прошли раги 1-4 из примера в статье, а OrderService запущен но не отвечает...
- Прошли раги 1-4 из примера в статье, а OrderService ответил… через трое суток...
- Прошли раги 1-4 из примера в статье, а OrderService сконфигурирован на UAT базу...
Это не сага, это — плач.
+1
Sign up to leave a comment.
Паттерн: Сага