Конференция завершена. Ждем вас на HighLoad++ в следующий раз!

Консенсус на пальцах, или Как договориться в распределенной системе Архитектуры, масштабируемость

Доклад принят в программу конференции
Владимир Протасов
Яндекс.Облако

Двигает инфраструктурные проекты в Yandex.Cloud. Писал в продакшн на 20+ языках, любит Haskell, Rust и Erlang, но в последнее время пишет по ночам и на Python :)
Создатель московских Python-завтраков. Активно участвует в организации конференций.

https://t.me/ask_prolog_bot
Тезисы

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

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

Я постараюсь объяснить, как эти алгоритмы устроены и зачем нам, рядовым разработчикам, это знать.
Если останется время, то разберем нюансы реализации в различных приложениях.

Другие доклады секции Архитектуры, масштабируемость