...
ЕССМ использует две основные базы данных: PostgreSQL и Redis. Для переключения мастерства в PostgreSQL используется механизм Repmgr (Replication Manager), для в Redis — Redis Sentinel. Для переключения мастерства в базе данных должны быть задействованы три узла (ноды) системы:
...
- Если Slave получил более 50% голосов, то он становится новым мастером;
- Если было получено ровно 50% голосов или менее, то Slave записывает в лог ошибку «unable "unable to reach a quorum of nodes» nodes" и переходит в режим ожидания, не пытаясь стать мастером. Это предотвращает создание нескольких мастеров в кластере.
...
Только те Sentinel-ы, которые настроены на мониторинг данного мастера и находятся в состоянии «активного мониторинга» "активного мониторинга" (субъективно считают мастер доступным или недоступным), участвуют в голосовании. Sentinel-ы, которые вышли из строя, потеряли связь или были исключены, в расчете кворума на момент выборов не участвуют.
...
- Опрос — Sentinel отправляет другим Sentinel-ам запрос на голосование за себя. Каждый Sentinel может отдать свой голос только одному кандидату в текущем раунде голосования по принципу «первый "первый запрос — первый голос»голос";
- Подсчет голосов — учитываются ответившие узлы и голос самого кандидата.
...