ScholarGate
Ассистент

Paxos и Raft

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

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

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

Scope

Эта тема охватывает семейство Paxos — Paxos с одним решением, Multi-Paxos и его инженерные усовершенствования — а также протокол Raft, который реорганизует те же гарантии вокруг явного лидера, репликации журнала и изменения членства для лучшего понимания. Она охватывает роли инициаторов/акцепторов и лидеров/последователей, пересечение кворумов, выборы лидера и сроки полномочий, сопоставление журналов и практические аспекты снимков и реконфигурации.

Core questions

  • Как пересечение кворумов и нумерация предложений обеспечивают безопасность Paxos в разных раундах и при смене лидера?
  • Как Raft декомпозирует консенсус на выборы лидера, репликацию журнала и безопасность?
  • Какие инженерные проблемы возникают при превращении этих протоколов в производственные системы?

Key theories

Paxos с одним решением и Multi-Paxos
Paxos достигает соглашения по одному значению через фазы подготовки и принятия, регулируемые монотонными номерами предложений и кворумами большинства; Multi-Paxos амортизирует фазу подготовки по потоку решений, возглавляемых стабильным лидером, для создания реплицированного журнала.
Декомпозиция Raft
Raft достигает той же безопасности, что и Paxos, путем избрания одного лидера на срок, при этом лидер добавляет записи, которые реплицируют последователи, и обеспечивает свойство соответствия журнала, сознательно обменивая минимальность на понятность и простоту реализации.
От спецификации к работающей системе
Развертывание Paxos на практике требует обработки сбоев дисков, аренды лидера, компактирования журнала и реконфигурации — деталей, часто упускаемых в исходном алгоритме, но необходимых для корректности и производительности.

Clinical relevance

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

History

Лампорт описал Paxos в своей статье 1998 года «парламент неполного рабочего дня» и уточнил его в «Paxos made simple» (2001); Чандра и коллеги сообщили о реалиях его реализации в масштабе в 2007 году; а Онгаро и Аустерхаут представили Raft в 2014 году, чтобы сделать эквивалентные гарантии намного проще для обучения и реализации.

Debates

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

Key figures

  • Leslie Lamport
  • Diego Ongaro
  • John Ousterhout
  • Tushar Chandra

Related topics

Seminal works

  • lamport1998
  • ongaro2014
  • chandra2007

Frequently asked questions

Являются ли Paxos и Raft принципиально разными алгоритмами?
Нет — они решают одну и ту же проблему с одним и тем же ядром кворума большинства и эквивалентными гарантиями безопасности. Raft в основном реорганизует Paxos вокруг сильного лидера и явного журнала, чтобы сделать протокол более понятным и простым в реализации.

Methods for this concept

Related concepts