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