Есть много способов для решения проблем с двухфазной фиксацией. Почти все они в конечном итоге представляют собой один из вариантов алгоритма трехфазной фиксации Paxos. Майк Берроуз, который разработал сервис блокировки Chubby в Google на основе Paxos, сказал, что в лекции, которую я видел, есть два типа алгоритмов распределенного принятия - «Paxos и неправильные».
Единственное, что мог сделать сбойный узел, когда он пробуждается, это сказать: «Я никогда не слышал об этой транзакции, должна ли она быть совершена?» координатору, который расскажет, каково было голосование.
Помните, что это пример более общей проблемы: сбойный узел может пропустить много транзакций, прежде чем он восстановится. Поэтому очень важно, чтобы после восстановления он общался с координатором или с другой репликой, прежде чем стать доступным. Если сам узел не может определить, произошел ли сбой или нет, то все становится более сложным, но все же отслеживаемым.
Если вы используете систему кворума для чтения базы данных, несоответствие будет замаскировано (и станет известно самой базе данных).