Jump to content

Безотказная система

В проектировании систем отказоустойчивая система это система, которая немедленно сообщает на своем интерфейсе о любом состоянии, которое может указывать на сбой. Отказоустойчивые системы обычно предназначены для остановки нормальной работы, а не для продолжения возможно ошибочного процесса. Такие конструкции часто проверяют состояние системы на нескольких этапах работы, чтобы любые сбои можно было обнаружить на ранней стадии. Ответственность отказоустойчивого модуля заключается в обнаружении ошибок и передаче их обработке следующему высшему уровню системы.

Аппаратное и программное обеспечение

[ редактировать ]

Отказоустойчивые системы или модули желательны в нескольких случаях:

  • Отказоустойчивые архитектуры основаны на политике обработки ошибок, согласно которой любая обнаруженная ошибка или непредусмотренное состояние приводит к сбою системы (быстрому). В некотором смысле политика обработки ошибок противоположна той, которая используется в отказоустойчивой системе . В отказоустойчивой системе устанавливается политика обработки ошибок, позволяющая иметь резервные компоненты и переносить запросы вычислений на работающие компоненты в случае сбоя какого-либо компонента. Парадоксальным образом отказоустойчивые системы делают отказоустойчивые системы более устойчивыми. Мы можем иметь 10 резервных серверов для данной базы данных, но если общая конфигурация для 10 серверов будет обновлена ​​с неправильными данными аутентификации для клиентов, все они выйдут из строя. В этом смысле отказоустойчивая система позаботится о том, чтобы все 10 резервных серверов вышли из строя как можно скорее, чтобы обеспечить быструю реакцию DevOps.
  • Отказоустойчивые компоненты часто используются в ситуациях, когда сбой в одном компоненте может быть незаметен до тех пор, пока он не приведет к сбою в другом компоненте в результате ленивой инициализации. например: «Система, которая «обречена» на сбой из-за неправильной настройки пути к файловой системе, не выходит из строя при запуске, потому что путь к файловой системе не проверяется при запуске. Только когда приходит клиентский запрос, система выходит из строя , случайно, позже.
  • В отказоустойчивой системе легче найти причину сбоя, поскольку система сообщает о сбое с максимально возможным объемом информации, максимально близкой ко времени сбоя. В отказоустойчивой системе сбой может остаться незамеченным, тогда как в системе, которая не является ни отказоустойчивой, ни отказоустойчивой, сбой может быть временно скрыт до тех пор, пока он не вызовет какую-либо, казалось бы, несвязанную проблему позже.
  • Отказоустойчивая система, которая предназначена для остановки, а также сообщения об ошибке в случае сбоя, с меньшей вероятностью ошибочно выполнит необратимую или дорогостоящую операцию.

Разработчики также называют код отказоустойчивым, если он пытается завершить работу как можно скорее при инициализации переменной или объекта. В объектно-ориентированном программировании объект, спроектированный с отказоустойчивостью, инициализирует внутреннее состояние объекта в конструкторе, запуская исключение, если что-то не так (вместо того, чтобы допускать неинициализированные или частично инициализированные объекты, которые позже потерпят неудачу из-за неправильной ошибки). «сеттер»). Затем объект можно сделать неизменяемым , если больше не ожидается изменений внутреннего состояния. В функциях отказоустойчивый код проверяет входные параметры в предварительном условии . В архитектурах клиент-сервер Fail-Fast проверяет клиентский запрос непосредственно по прибытии, прежде чем обрабатывать или перенаправлять его другим внутренним компонентам, возвращая ошибку, если запрос не выполнен (неверные параметры, ...). Быстроразрабатываемый код снижает внутреннюю энтропию программного обеспечения и сокращает усилия по отладке.

  • Отказоустойчивое приложение/система проверяет готовность всех ресурсов ввода/вывода, необходимых для будущих вычислений, до поступления запроса на вычисления.
  • Отказоустойчивое приложение/система проверяет правильность всех неизменяемых начальных конфигураций при запуске.
  • Функция отказоустойчивости — это функция, которая проверяет все входные данные функции в предварительном условии , прежде чем приступить к каким-либо вычислениям или бизнес-логике в такой функции.
  • Функция Fail-Fast обычно выдает исключение во время выполнения, когда обнаруживается какое-то аномальное вычисление, приводящее к сбою системы, если никакая другая «ловушка» не рассматривалась, вместо того, чтобы возвращать некоторое значение ошибки без каких-либо (оптимистических) предположений о правильности. управление возникшей ошибкой.
  • В области разработки программного обеспечения отказоустойчивый итератор — это итератор , который пытается вызвать ошибку, если последовательность элементов, обрабатываемых итератором, изменяется во время итерации .
  • Учитывая начальное состояние конечного автомата, отказоустойчивая система проверит такое состояние и быстро выйдет из строя.
  • При изменении состояния конечного автомата отказоустойчивая система остановит машину, если изменение состояния запрещено. Возможно, запрещенное изменение состояния вызвано неправильным внешним входным сигналом. В этом случае отказоустойчивая система прекратит обработку запроса, как только будет обнаружен неправильный ввод (в отличие от делегирования реализации конечного автомата).

Этот термин широко использовался в качестве метафоры в бизнесе, по крайней мере, с 2001 года. [1] Это означает, что предприятиям следует проводить смелые эксперименты, чтобы определить долгосрочную жизнеспособность продукта или стратегии, а не действовать осторожно и инвестировать годы в обреченный подход. Это стало своего рода «мантрой» в культуре стартапов : «Ошибайся быстро, терпи неудачу часто». [2]

См. также

[ редактировать ]
  1. ^ Кханна, Раджат; Гюлер, Исин; Неркар, Атул (01 апреля 2016 г.). «Часто терпите неудачу, терпите большую неудачу и терпите неудачу быстро? Учитесь на небольших неудачах и результатах исследований и разработок в фармацевтической промышленности». Журнал Академии менеджмента . 59 (2): 436–459. дои : 10.5465/amj.2013.1109 . ISSN   0001-4273 .
  2. ^ Суровецкий, Джеймс. «Эпические провалы мира стартапов» . Житель Нью-Йорка . Проверено 14 августа 2017 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: de4746f977b49e9aaf1a355023ef27a1__1714124880
URL1:https://arc.ask3.ru/arc/aa/de/a1/de4746f977b49e9aaf1a355023ef27a1.html
Заголовок, (Title) документа по адресу, URL1:
Fail-fast system - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)