2015-01-19 2 views

ответ

1

Ответы от Two-phase commit protocol.

Что он будет делать при отказе второй фазы?

Провал фиксации фазы обрабатывается следующим образом:

Если какие-либо когорта голоса Нет в течение фазы фиксации-запрос (или тайм-аут координатора истекает):

  1. Координатор посылает сообщение отката ко всем когортам.
  2. Каждая когорта отменяет транзакцию, используя журнал отмены, и освобождает ресурсы и блокировки, удерживаемые во время транзакции, .
  3. Каждая когорта отправляет подтверждение координатору.
  4. Координатор отменяет транзакцию, когда все подтверждения получены.

Как он поддерживает отказоустойчивость?

Во многих случаях это не так, и, возможно, потребуется вмешательство человека:

это не является устойчивым для всех возможных конфигураций сбоев, а в редком пользователе случаев (например, администратор системы) требуется вмешательство чтобы исправить исход. Для обеспечения восстановления после сбоя (в большинстве случаев автоматическое) участники протокола используют протоколирование состояний протокола. Журнальные записи, которые, как правило, медленны для генерации, но сохраняют неудачи, используются процедурами восстановления протокола. Существует множество вариантов протокола, которые в основном отличаются стратегиями ведения журнала и механизмами восстановления. Хотя обычно они предназначены для использования нечасто, процедуры восстановления составляют значительную часть протокола из-за того, что многие возможные сценарии сбоев рассматриваются и поддерживаются протоколом.

+0

спасибо за ответ..прокат означает, будет ли запрос отправлен снова? –

+0

Это означает, что транзакция прервана. Приложение может быть повторно применено, но автоматически это не сделает. – SilverlightFox

Смежные вопросы