Компенсационная сделка - Compensating transaction - Wikipedia
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Выполнение бизнес-процесс состоит из одного или нескольких сделки. Каждая транзакция может состоять из нескольких отдельных операций, но в целом она перемещает систему между согласованными состояниями.
Есть две группы систем, в которых компенсационная сделка может применяться:
1. В контексте база данных это часто легко достигается с помощью сделки и совершить /откат механизм.[1] Компенсационная сделка логика может быть реализована как дополнительная поверх поддержки базы данных совершить /откат. В этом случае мы можем уменьшить детализацию бизнес-транзакций.
2. Для систем без совершить /откат доступный механизм, можно отменить неудачную транзакцию с помощью компенсационная сделка, который вернет систему в исходное состояние. Обычно это только обходной путь который должен быть реализован вручную и не может гарантировать, что система всегда будет работать в согласованном состоянии. Разработчику системы может потребоваться подумать о том, что произойдет, если компенсационная транзакция также не удастся.
Компенсационные операции также используются в случае, если транзакция является долгоживущей (обычно называется Сага Транзакции ), например, в бизнес-процессе, требующем ввода данных пользователем. В таких случаях данные будут сохранены в постоянном хранилище, но впоследствии может потребоваться откат, возможно, из-за того, что пользователь решил отменить операцию. В отличие от обычных откатов, для отката долгоживущей транзакции и восстановления системы в исходное состояние обычно требуется конкретная бизнес-логика. Этот тип транзакции отличается от распределенные транзакции (часто реализуется с использованием протокол двухфазной фиксации ), потому что, хотя оба типа транзакций могут привести к обновлению нескольких хранилищ данных, компенсационные операции позволяет выполнять обновления в течение длительного периода времени.
Компенсационные операции часто превращаются в Веб-сервисы которые участвуют в выполнении бизнес-процессов, являющихся частью Сервис-Ориентированная Архитектура решение.
Смотрите также
Рекомендации
- ^ Грей, Джим (июнь 1981 г.). «Концепция сделки: достоинства и ограничения». Труды конференции по очень большим базам данных.