Raft
Версия от 19:08, 4 сентября 2022; Maintenance script (обсуждение | вклад) (rollbackEdits.php mass rollback)
Raft — алгоритм для решения задачи Replicated State Machine. В отличие от Paxos он не опускает деталей: помимо решения задачи консенсуса подробно описывает и выбор лидера, и синхронизацию журнала операций между репликами.
Также одна из целей Raft — быть понятным. Можно прочитать беглое описание на русском, посмотреть интерактивную презентацию для введения и посмотреть официальный сайт (с визуализацией и возможностью поиграться) и исходную статью (там чётко выписано состояние процессов, все сообщения и правила).
В визуализации точкой помечен matchIndex[]
(лидер знает, что до этого места лог follower'а совпадает с логом лидера), а стрелочкой — nextIndex[]
(что лидер попробует прислать follower'у).