Денис Костоусов
гость
гость
гость
Восьмой выпуск связывает 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 недостаточно — нужны дедупликация и компенсации.