Как узлы в кластере Raft знают, что такое «большинство»? - PullRequest
0 голосов
/ 06 мая 2019

Я читаю статью Плот и слежу за секретной жизнью визуализации данных , и кажется, что большинство в Рафте имеет решающее значение как для выборов лидера, так и для добавления в заявку Запросы.

Мой вопрос: как узлы узнают общее количество узлов в кластере? Определен ли протокол обнаружения или число узлов должно быть настроено при создании кластера? Или Raft оставляет это конкретным реализациям ?

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

Спасибо за любой указатель!

1 Ответ

0 голосов
/ 06 мая 2019

В основном это зависит от реализации. Большинство из тех, на которые я смотрел, допускают некоторую начальную конфигурацию кластера. Один из них работает, те, которые допускают изменения членства в кластере, обычно предоставляют некоторый API для инициирования этого, и они запускают членство через журнал плота (см. section 6 ). Иногда вам приходится начинать с одного узла и использовать API членства, чтобы увеличить кластер до нужного размера.

Временные события, такие как перезагрузка узла, не должны отражаться в членстве в кластере. Если вы хотите навсегда удалить узел, потому что его оборудование умерло, вы должны использовать API членства, упомянутый выше.

...