Эксплуатация и проверка отказов
Какие наблюдения доказывают корректное восстановление сервиса?
Содержание слайдов
1. Эксплуатация и проверка отказов
Какие наблюдения доказывают корректное восстановление сервиса?
2. Работающий процесс ещё не обслуживает пользователя
Проверяем завершённую операцию через реальный путь.
3. Корректность и скорость проверяются раздельно
Быстрый ответ может нарушить инвариант.
4. SLI задаёт числитель и знаменатель
Хорошее событие определяется пользовательским контрактом.
5. SLO добавляет цель и окно
Без окна процент невозможно интерпретировать.
6. Бюджет ошибок считается в тех же событиях
1000 попыток при 99% допускают 10 неуспехов.
7. Средняя задержка скрывает хвост
Порог и распределение отвечают на разные вопросы.
8. Улучшение хвоста может стоить дополнительной работы
Измеряйте p99 вместе с запросами и отменой.
9. Принятие задачи и её завершение различаются
Быстрый API может скрыть растущую очередь.
10. Опыту нужна сопоставимая базовая линия (baseline)
Отказ меняет один явно названный фактор.
11. Метрики, журналы и трейсы дополняют друг друга
Каждый сигнал сохраняет разные детали.
12. Трейс связывает интервалы одной операции
Спан содержит границы работы и контекст.
13. Трейс не заменяет ни eventId, ни полный счёт
Повтор получает новый trace_id, а выборка неполна.
14. Нагрузка описывает поступление, не только потоки
Два генератора могут создать разные испытания.
15. Генератор тоже имеет предел мощности
Проверьте, что источник успевает создать нагрузку.
16. Протокол опыта пишется до запуска
Условия остановки и проверки заданы заранее.
17. Инъекция отказа сохраняет границы модели
Остановка, разделение и потеря диска различаются.
18. История сохраняет неизвестные исходы
Тайм-аут не превращается в доказанный abort.
19. Проверка инварианта является частью теста
Возврат процесса не означает восстановленный результат.
20. Плановая передача отличается от внезапного отказа
Одинаковое число остановленных узлов не уравнивает сценарии.
21. Восстановление имеет несколько временных границ
Каждая граница отвечает на свой вопрос.
22. Разделение сети задерживает клиента дольше выборов
Клиент у изолированного узла ждёт своего дедлайна.
23. Отчёт связывает утверждение с артефактом
Ожидание не выдаётся за наблюдение.
24. Пересчитайте доступность и восстановление
2000 попыток: 1970 успехов, 20 тайм-аутов, 10 явных ошибок; учебный SLO 99,5%.
Задать знаменатель
Развести интервалы
Найти недоказанный вывод
25. Отказный тест заканчивается проверкой смысла
Измерение, инвариант и ограничения составляют один вывод.
26. После лекции вы сможете
Определить SLI, окно и бюджет ошибок.
Сохранить воспроизводимую историю эксперимента с отказом.
Различить выборы, клиентский прогресс и восстановление копий.