Аннотация:
Рассмотрены два способа реализации прозрачной отказоустойчивости серверов приложений с недетермированным поведением и дано их сравнение. Первый способ — snapshot/restore — опирается на известный механизм контрольных точек, который дополнен протоколированием событий, происходящих с ресурсами и влияющих на детерминированность поведения (историй ресурсов). Поведение после отказа предусматривает восстановление состояния приложений и управляемое выполнение, использующее истории ресурсов. Второй способ — lock-step — использует только протоколирование событий, которое сопровождается постоянным управляемым выполнением на резервном узле сервера приложений. Приведены аргументы в пользу применения метода snapshot/restore.