Лидер переизбран без лидера вниз?

Существует ли какой-либо приемлемый метод выбора лидера в распределенной среде, в котором лидер может меняться после каждого фиксированного интервала времени (или раундов), когда текущий лидер не выходит из строя / отключается?

Это может звучать как очень неправильный путь, но мне нужно его реализовать, но я не могу найти никаких исследований / ссылок.

1 ответ

Я не сразу осведомлен о какой-либо системе, которая делает это, поскольку выбор лидера, когда текущий лидер работает должным образом и все работающие работники могут общаться с лидером (т. Е. Нет сетевого раздела), является ненужными накладными расходами.

Тем не менее, должно быть легко добавить эту функцию в существующую систему, такую ​​как Raft. Раздел 5.2 описывает процесс выборов лидера. Выборы запускаются только в том случае, если работник не получает пульса от лидера в течение определенного периода времени (тайм-аут выборов). Вы можете просто добавить условие, которое также запускает выборы по истечении фиксированного интервала времени, который вы указали в своем вопросе.

Вы можете модифицировать другие системы аналогичным образом для достижения того же результата.