Введение
Система, сообщающая о вероятных сбоях
В проектировании систем, система с принципом "fail fast" (быстрого отказа) – это система, которая немедленно сообщает через свой интерфейс о любом состоянии, которое может указывать на потенциальный сбой. Системы с принципом "fail fast" обычно разрабатываются для остановки нормальной работы, а не для продолжения, возможно, некорректного процесса. Такие системы часто проверяют состояние в нескольких точках выполнения операции, чтобы сбои можно было обнаружить на ранней стадии. Задача модуля, работающего по принципу "fail fast", – обнаруживать ошибки и передавать их на обработку следующему уровню системы.
Примеры
Приложение/система с принципом быстрого отказа проверяет готовность всех ресурсов ввода/вывода, необходимых для последующих вычислений, до поступления какого-либо запроса на вычисление. Приложение/система с принципом быстрого отказа проверяет корректность всех неизменяемых начальных конфигураций при запуске. Функция быстрого отказа – это функция, которая проверяет все входные данные в предусловии перед выполнением каких-либо вычислений или бизнес-логики. Функция быстрого отказа обычно генерирует исключение времени выполнения при обнаружении некорректных данных, приводящих к сбою системы, если нигде не предусмотрена обработка этого исключения, а не возвращает код ошибки, полагаясь на корректную обработку ошибки вызывающей стороной. В области разработки программного обеспечения, итератор быстрого отказа – это итератор, который пытается сгенерировать ошибку, если последовательность элементов, обрабатываемых итератором, изменяется в процессе итерации. Для заданной начальной точки в конечном автомате, система с принципом быстрого отказа проверяет это состояние и немедленно останавливается при обнаружении ошибки. При изменении состояния в конечном автомате, система с принципом быстрого отказа останавливает автомат, если изменение состояния недопустимо. Недопустимое изменение состояния может быть вызвано некорректным внешним входом. В этом случае система с принципом быстрого отказа прекращает обработку запроса сразу после обнаружения некорректного ввода (вместо передачи управления реализации конечного автомата).
Бизнес
Термин широко используется в качестве метафоры в бизнесе, начиная как минимум с 2001 года, означая, что компаниям следует проводить смелые эксперименты, чтобы определить долгосрочную жизнеспособность продукта или стратегии, а не действовать осторожно и тратить годы на заведомо провальный подход. Он стал своего рода "мантрой" в стартап-культуре, то есть "Быстро терпи неудачу, терпи неудачу часто".