#c# #sql-server #distributed-transactions #saga #2phase-commit
Вопрос:
В .NET, где у нас есть гибкость для одновременного вызова нескольких служб с помощью концепции параллельных задач. Учитывая сценарий, в котором у меня есть три разные задачи, каждая задача вызывает разные службы.
Например,
- Задача 1 служба — публикация данных в базе данных приложения
- Задача 2 служба — публикация данных в централизованной БД
- Задача 3 обслуживать данные post в базе данных миграции.
Итак, предполагая, что эти три службы выполняются параллельно, и задача 1 завершена, но службы задачи 2 завершились сбоем из-за некоторого исключения. таким образом, из-за этого я обрабатываю ее так, чтобы задача 1 должна была откатить изменение. Мне нужно правильное решение, пожалуйста, дайте мне знать.
Двухфазная фиксация может решить эту проблему.
Комментарии:
1. Распределенная транзакция — это то, что вы ищете. Дополнительная информация youtu.be/k925c1WN2LA
2. Не могли бы вы уточнить, какие DB и ORM вы используете, и опубликовать пример кода, чтобы я мог написать ответ
3. SQL server как DB amp; Entity frame работает как ORM