Здравствуйте, igor-booch, Вы писали:
IB>Я не специалист в области банковских транзакций, но интуиция подсказывает следующее. IB>Есть координатор распределенных транзакцией. IB>Если он увидел, что какой-то из банков не выполнил свою часть транзакции, IB>он даёт другому банку (который часть транзакции выполнил) команду на откат транзакции.
Что команда на откат, что команда на фиксацию, обе команды требуют доставки сообщения, что возвращает нас к новой итерации задачи о генералах.
IB>Если переводить это на язык задачи про двух генералов, то получается IB>если генерал видит что атакует в одиночку, IB>то без потерь отступает, IB>возвращается на свою исходную позицию IB>и начинает согласование атаки заново, IB>если не отпала необходимость в штурме.
По условию задачи генерал не должен начинать атаку без согласования времени, т.к. неизбежно поражение, если он начнет атаковать один.
IB>Да, можем потерять время, но при банковских переводах это случается редко и поэтому допустимо.
Просто банковская гарантия — не абсолютная величина. Речь всего лишь о том, что 99.9% переводов происходят за первые 3 дня. А если что-то пойдет не так, то даже репутация банка не пострадает.