Фундамент
Designing Data-Intensive Applications
Классическая база по распределённым данным и консистентности.
Распределённые системы появляются, когда одной машины недостаточно. Это даёт масштаб, но усложняет всё: данные расходятся, сеть ломается, а задержки становятся непредсказуемыми. Этот раздел объясняет, как мыслить в мире частичных отказов и конфликтов.
Зачем нужны знания по распределённым системам
Реальный мир = отказ
Сеть не надёжна, узлы падают, пакеты теряются. Архитектура должна учитывать это с самого начала.
Консистентность vs latency
Чем строже консистентность, тем выше задержки. Нужно уметь выбирать правильные компромиссы.
Согласование состояния
Консенсус, кворумы и репликация — базовые механизмы для устойчивого состояния.
Сложность растёт быстро
Система из 1 сервиса просто работает. Система из 20 — требует продуманной архитектуры.
Ключевые темы этой части
CAP и модели консистентности
От strong consistency до eventual — что выбираем и зачем.
Что даст этот раздел на практике
- Умение выбирать модель консистентности под задачу.
- Понимание, когда нужен лидер, а когда — кворумы.
- Навык проектировать защиту от сетевых сбоев и деградации.
- Более глубокие ответы на System Design интервью.
Начать можно с CAP теоремы и консенсус‑протоколов.
