---
id: TASK-45.48
title: 'Статья 08: отказоустойчивость и надёжность'
status: Done
assignee:
  - '@assistant'
created_date: '2026-09-17 17:23'
updated_date: '2026-09-17 20:17'
labels: []
dependencies:
  - TASK-45.40
references:
  - applications/yandex-codenv/system-design/brief.md
parent_task_id: TASK-45
priority: high
ordinal: 93000
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Статья по разделу 08 брифа: SPOF-анализ, failover, health checks, таймауты/ретраи/idempotency, circuit breaker, graceful degradation, много-ДЦ, majority-коммит. Верхний уровень, 10-20 мин чтения. Прямо соответствует ключевому вопросу секции («объясните отказоустойчивость»).
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 articles/08-fault-tolerance.md создан (10-20 мин чтения)
- [x] #2 Есть протокол «прохожу по каждой ноде схемы: что при её падении» и блок «что назвать на секции»
<!-- AC:END -->

## Implementation Plan

<!-- SECTION:PLAN:BEGIN -->
1. Изучить формат серии (00/01/02/03/05/06) и источники: KB §9 (+§7, §10, §13.5), статья Яндекса (4 ДЦ, 43 сервера, таблица отказов, экстремальная нагрузка), DDIA гл. 9 (partial failure, таймауты, fencing, кворум), Сюй гл. 6 (AP между ДЦ, sloppy quorum), classic-designs §1–2, §4. 2. Написать articles/08-fault-tolerance.md по каркасу серии (~14 разделов, ~4200 слов): словарь и девятки (арифметика надёжности) → partial failure (DDIA) → протокол SPOF-анализа + health checks → таймауты → ретраи с идемпотентностью → circuit breaker + bulkhead → rate limiting/load shedding/graceful degradation + экстремальная нагрузка → failover данных (сжатие 05 §5) → много-ДЦ и majority-коммит (active-active/passive, 3 ДЦ, эталон Яндекса) → сводная прогонка по типовой схеме таблицей (AC#2) + пример вслух → метрики отказов → прикладные формулировки (эталоны) → ошибки → чек-лист «что назвать на секции» (AC#2) → самопроверка «умею, если». 3. Сквозные ссылки: KB §9, статьи 01 (этап 6), 02 (латентности), 03 (§3.4/§5/§6), 05 (§5/§10), 06 (§7/§8), 07/09/10/11/12 (планируемые — backticks), classic-designs §1. 4. Обновить README (45.48 ✅), проверить AC, финализировать, закоммитить.
<!-- SECTION:PLAN:END -->

## Implementation Notes

<!-- SECTION:NOTES:BEGIN -->
Решения: (1) статья 4921 слов — верх серии (06 = 4306), оправдано тем, что отказоустойчивость — заявленный фокус секции; ~17-20 мин при 250-280 сл/мин. (2) Ядро AC#2 — §3 (протокол SPOF в два слоя: правила построения + прогонка 4 шагами) и §10 (сводная таблица прогонки по 10 узлам типовой схемы 03 §6 + эталонный прогон вслух). (3) Сжатие: failover данных — выжимка 05 §5 в 4 строки, консенсус/fencing вынесен в будущую 09 (backticks). (4) Ссылки только на существующие файлы (проверены скриптом: ALL LINKS OK); 07/09/10/11/12 — backticks по конвенции. (5) README: строка статуса articles/ дополнена 45.48 ✅. Валидация: wc -w 4921; grep-доказательства AC#1/AC#2; ссылки ALL LINKS OK.
<!-- SECTION:NOTES:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Написана articles/08-fault-tolerance.md (15 разделов, 4921 слов ≈ 17-20 мин): словарь надёжности и девятки → partial failure (DDIA гл. 9) → протокол SPOF-прогонки «прохожу по каждой ноде» (§3) → таймауты → ретраи/идемпотентность → CB/bulkhead → перегрузка → failover данных → много-ДЦ/majority-коммит → сводная таблица прогонки по 10 узлам (§10) → метрики → прикладное → ошибки → чек-лист «что назвать на секции» (§14) → самопроверка. Обновлён README (45.48 ✅). AC#1 и AC#2 проверены grep/wc-доказательствами; все 13 внутренних ссылок существуют.
<!-- SECTION:FINAL_SUMMARY:END -->
