Оглавление:
Определение - что означает Распределенная транзакция?
Распределенная транзакция - это тип транзакции с двумя или более задействованными сетевыми узлами. Обычно хосты предоставляют ресурсы, а менеджер транзакций отвечает за разработку и обработку транзакции. Как и любая другая транзакция, распределенная транзакция должна включать все четыре свойства ACID (атомарность, согласованность, изоляция, долговечность). Учитывая характер работы, атомарность важна для обеспечения результата «все или ничего» для пакета операций (единицы работы).
Техопедия объясняет распределенную транзакцию
Базы данных являются стандартными транзакционными ресурсами, и транзакции обычно распространяются на небольшое количество таких баз данных. В таких случаях распределенная транзакция может рассматриваться как транзакция базы данных, которая должна быть синхронизирована между различными участвующими базами данных, распределенными между различными физическими местоположениями. Свойство изоляции представляет собой уникальное препятствие для транзакций с несколькими базами данных.Для распределенных транзакций на каждом компьютере имеется локальный менеджер транзакций. Если транзакция работает на нескольких компьютерах, менеджеры транзакций взаимодействуют с различными другими менеджерами транзакций посредством подчиненных или подчиненных отношений, которые являются точными только для конкретной транзакции.
Менеджеры ресурсов обрабатывают согласованные или отказоустойчивые данные и тесно взаимодействуют с координатором распределенных транзакций (DTC), чтобы обеспечить изоляцию и атомарность приложения. В распределенных транзакциях каждый участвующий элемент должен соответствовать совершению действия изменения, такого как обновление базы данных, до транзакции. Код неисправности координирует транзакцию для участвующих компонентов и работает в качестве менеджера транзакций для каждого компьютера, который предназначен для управления транзакциями. При распределении транзакций между различными компьютерами менеджер транзакций доставляет, подготавливает, фиксирует и прерывает сообщения для каждого подчиненного менеджера транзакций.
В алгоритме двухфазной фиксации кода неисправности первая фаза включает в себя диспетчер транзакций, запрашивающий подготовку фиксации для каждого включенного компонента, тогда как на второй фазе, если все компоненты готовы к успешной фиксации, диспетчер транзакций сообщает решение о фиксации.
