Как несколько кандидатов выбирают друг друга после встречи в соответствии с алгоритмом предварительного голосования?
Чтобы предотвратить сбои, когда сервер снова присоединяется к кластеру, основные выборы лидера raft могут быть расширены с помощью дополнительной фазы, такой как сбои, формируя алгоритм предварительного голосования. В алгоритме предварительного голосования кандидат увеличивает свой срок только в том случае, если он сначала узнает от большинства кластера, что они готовы предоставить кандидату свои голоса (если журнал кандидата достаточно актуален и избиратели не получали подтверждения от действующего лидера хотя бы в течение базового тайм-аута).
Но при проведении предварительного голосования у меня возникла проблема:
Когда несколько кандидатов встречаются с одним и тем же сроком, они никогда не смогут избрать лидера, потому что 1) они голосуют первыми за себя; 2) они никогда не могли обновить термин, потому что не могут учиться у большей части кластера.