К основному содержимому
все выпуски
Code of Architecture · выпуск 28

Distributed Systems — выпуск 8

1:42:32

Участники выпуска

  • Денис Костоусов

    гость

  • Салих Фахрутдинов

    гость

Содержание

Что обсудили голосом

Восьмой выпуск связывает dependability с доступностью, надёжностью, безопасностью и ремонтопригодностью. Отказы — нормальное состояние распределённой системы. Участники разделяют fault, error и failure, затем проходят модели crash, omission, timing, response и arbitrary failure, включая византийское поведение.

Следующий слой — избыточность и process groups. Физические копии, повторение во времени и контрольные данные маскируют разные сбои. Группа может быть flat или hierarchical: координатор упрощает решения, но требует выборов после отказа; плоская структура усложняет membership и коммуникацию.

Консенсус обсуждают через Paxos и более прикладной Raft. Лидер ведёт реплицированный log, followers догоняют состояние, а failure detection всё равно опирается на таймауты и подозрения. Reliable group communication добавляет delivery guarantees, multicast и порядок сообщений; повторная доставка требует idempotent handlers.

Финал посвящён distributed commit и recovery. Two-phase commit понятен, пока не падает coordinator; three-phase commit добавляет pre-commit, чтобы сократить блокировку. Координированные checkpoints должны согласовать состояние процессов и сообщения в полёте. Для денег и других необратимых эффектов одного rollback недостаточно — нужны дедупликация и компенсации.

Серия по книге
Distributed Systems
Maarten van Steen, Andrew S. Tanenbaum
Плейлист книги