Я изучаю, как двухфазный фиксатор работает в распределенной транзакции. Насколько я понимаю, в последней части этапа координатор транзакций задает каждому node, готов ли он к фиксации. Если все согласны, то это говорит им идти вперед и совершать.
Что предотвращает следующий сбой?
- Все узлы отвечают, что они готов к фиксации
- Сделка координатор говорит им: "Продолжайте и совершить ", но один из узлов сбой перед получением этого сообщение
- Все остальные узлы успешно выполняются, но теперь распределенная транзакция повреждена.
- Я понимаю, что когда сбой node вернется, его транзакция будет отменена (так как она никогда не получала сообщение о фиксации)
Я предполагаю, что каждый node работает с нормальной базой данных, которая ничего не знает о распределенных транзакциях. Что я пропустил?