Краткий ответ: не делайте этого.
Обнаружив Паксос, Лэмпорт предположил, что сообщения могут быть удалены или дублированы. Таким образом, в любой момент вы можете снова отправить то же сообщение, и алгоритм с ним справится. Таким образом, технически вы можете повторно использовать один и тот же номер бюллетеня, если полезная нагрузка точно такая же. Вот несколько неожиданных причин, почему этого делать не следует.
Во-первых, алгоритм говорит использовать более высокий номер бюллетеня. Вы должны действительно знать, что делаете, если собираетесь изменить подобный распределенный алгоритм. Рассуждения о распределенных системах могут быть очень и очень трудными. И даже если вы знали, что делаете, у вас есть способ узнать, знают ли сопровождающие, которые приходят после вас, что они делают.
Во-вторых, базовый алгоритм на самом деле ничего не говорит об отказах/отказах; это просто оптимизации. (Помните, что они могут быть удалены в любое время.) Таким образом, неполучение подготовки следует рассматривать как отказ.
В-третьих, там может быть другой предлагающий. Если вы решите повторно использовать один и тот же номер бюллетеня, вы, по сути, сдадитесь и позволите другому победить. Но если другой предлагающий использует такое же алгоритмическое украшение, он тоже сдается. Вы эффективно выбираете лидера заранее.
В-четвертых, отсутствие кворума ответов означает, что у вашей системы проблемы: сетевой раздел; половина большинства хостов не отвечает достаточно быстро. Это важные вещи, о которых следует подумать. Как отправка одного и того же сообщения поможет решить проблему?
В конце концов, повторное использование номера бюллетеня ничего вам не даст, но все усложнит.
person
Michael Deardeuff
schedule
12.04.2013