Voters autopromotion
From RFC https://hackmd.io/@rosik/B1o-IkEtc:
## Ползучие воутеры (raft voter failover)
Все рафт ноды в кластере делятся на две роли - воутеры и лёрнеры. За
консистентность отвечают только воутеры. Для коммита каждой транзакции
требуется собрать кворум из `N/2 + 1` воутеров. Лернеры в кворуме не
участвуют.
Чтобы сохранить баланс между надёжностью кластера и беззаботностью его
эксплуатации, пикодата обладает фишечкой — при смерти одного из воутеров
(на которох держится кворум рафта и который терять очень не хочется)
роль воутера автоматически передаётся одному из живых инстансов.
Переключение происходит незаметно для пользователя.
Количество воутеров в кластере не настраивается и зависит только от
общего количества инстансов. Если инстансов 1 или 2, воутер один. Если
инстансов 3 или 4, то воутера три. Для кластеров от 5 инстансов и больше
- пять воутеров.
In scope of this tast:
- Remove autopromotion from
start_postjoin
. - Make autopromotion dependent on instances count (but not liveness yet).
Edited by Yaroslav Dynnikov