Получи случайную криптовалюту за регистрацию!

Raft. Мы говорили про проблему консенсуса и кворума. Для реше | //АйТи интерн

Raft.

Мы говорили про проблему консенсуса и кворума. Для решения задач консенсуса существует несколько алгоритмов и подходов. Наверное, самый используемый алгоритм сейчас - это Raft.

Raft решает задачу консенсуса в распределенных системах в ненадежных коммуникационных сетях. Он разрабатывался на основе опыта более старого алгоритма Paxos (также его называют семейством протоколов). Raft получился более простым теоретически и в реализации. Существует множество реализаций Raft с открытым исходным кодом на разных языках программирования.

Paxos действительно сложный алгоритм. Признаюсь, что я не до конца его понимаю. Наверное, потому что я с ним не работал в проде. Сейчас я искал хорошую и простую визуализацию этого алгоритма и не нашел ее. Есть только заумные и сложные научные статьи. Поэтому я не очень хотел писать про этот алгоритм, но это нужно для понимания откуда произошел Raft. Если вы хотите разобраться с Paxos, то вот неплохие статьи - раз и два.

А вот про Raft хороших статей много и есть даже прекрасный эксплейнер. На этом ресурсе еще раз рассказывают про проблему распределенного консенсуса и кворума, про типы узлов кластера в терминах Raft, процесс выбора лидера (leader election), и самое важное про то как действует алгоритм при проблемах с сетями.

Понимание Raft дает человеку основное представление о проблемах, возникающих в распределенных системах и о том, как их можно решить. Про Raft меня спрашивали несколько раз на собеседованиях на уровень Senior, но узнать про него раньше точно никому не помешает

Успехов!

@it_intern

#архитектура #распределенные_системы