Популярность алгоритма Raft в последние годы растёт. У него достаточно ясное описание, а реализации появляются во всё большем количестве проектов. На бумаге, будь то математика или рекламные статьи, выглядит хорошо. Но на практике не все обещания Raft можно реализовать без…
Когда кластеры достигают размеров в сотни, а иногда и тысячи машин, возникает вопрос о согласованности состояний серверов относительно друг друга. Алгоритм распределённого консенсуса Raft даёт самые строгие гарантии консистентности из возможных. В этой статье мы рассмотрим Raft с точки зрения инженера и постараемся ответить на вопросы «Как?» и «Почему?» он работает. Читать дальше →
Меня зовут Сергей Петренко, вот уже четыре года я работаю над репликацией в Tarantool, и сегодня хочу рассказать про слабые места алгоритма Raft и способы их преодоления. Эта статья — вольный пересказ нашего с Борисом Степаненко доклада на Hydra 2022. Если читатель не знаком с Raft, то предлагаю ознакомиться с моей статьёй о нём. Читать далее
Привет, друзья! В этой статье рассмотрим, как реализовать алгоритм Raft на Python.Raft — это алгоритм распределённого консенсуса, который делает три вещи:1. Выбирает лидера (тот, кто рулит кластером).2. Реплицирует данные по всем узлам (чтобы не потерять, если что-то пойдет не так).3. Гарантирует согласованность данных (никакой битой записи в журнале). Читать далее