Как работает алгоритм консенсуса, например Raft или Paxos? Зачем он нужен в распределенных базах данных и хранилищах конфигураций, таких как etcd или Consul?

Консенсус позволяет узлам согласовать один порядок изменений несмотря на отдельные отказы. В Raft лидер реплицирует журнал, записи фиксируются по правилам большинства, а сроки полномочий помогают безопасно менять лидера.

Короткий ответ

Что ответить на собеседовании

Консенсус позволяет узлам согласовать один порядок изменений несмотря на отдельные отказы. В Raft лидер реплицирует журнал, записи фиксируются по правилам большинства, а сроки полномочий помогают безопасно менять лидера.

Подробный разбор

Ответ с пояснениями

Консенсус позволяет узлам согласовать один порядок изменений несмотря на отдельные отказы. В Raft лидер реплицирует журнал, записи фиксируются по правилам большинства, а сроки полномочий помогают безопасно менять лидера.

Пересечение кворумов и правила выбора лидера защищают уже подтверждённые записи от исчезновения при смене лидера. При потере большинства система обычно жертвует возможностью новых подтверждённых записей, а не создаёт две независимые истины. Консенсус нужен для конфигурации, locks и метаданных с сильной согласованностью. Он не решает произвольные внешние эффекты и не защищает сам по себе от византийских участников; модель отказов должна быть явно определена.

Источник: raft.github.io.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее