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