Я реализую Paxos в приложении имитатора кластера, используя документацию, доступную в Википедии . К сожалению, он оставляет некоторые двери открытыми для интерпретации и не дает много информации по ключевым вопросам реализации. Это неясно и неполно.
Разве Paxos не войдет в бесконечный цикл? Я предполагаю, что не следует инициировать Paxos, если невозможно связаться хотя бы с кворумом узлов.
Что такое «последнее принятое значение»? Это какой-либо предыдущий номер предложения от предлагающего? Что именно означает «экземпляр» в этом случае?
На этапе 1a: Включает ли одно значение для согласования с сообщением Prepare, или оно отложено до Accept! сообщение? Или это имеет значение?
В Фазе 2a: « Если кто-либо из Акцепторов уже принял значение, лидер должен Выбрать значение с максимальным номером предложения N ».
Какая здесь ценность? Это номер предложения? Я не верю, но эта фраза непонятна.
На этапе 2a: «В противном случае предлагающий может выбрать любое значение». Что это значит? Ценность для чего? По номеру предложения?
Paxos, кажется, полагается на увеличивающееся значение N (номер предложения), чтобы работать? Это правильно?
В википедии не обсуждаются начальные значения, которые узел должен установить перед тем, как начать участвовать в Paxos. Что это?
PS: У меня недостаточно репутации, чтобы создать тег Paxos (любой доброволец?)