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