Поделиться через


Устойчивость, ориентированная на облако

Совет

Это содержимое является фрагментом из электронной книги, архитектора облачных собственных приложений .NET для Azure, доступных в .NET Docs или в виде бесплатного скачиваемого PDF-файла, который можно прочитать в автономном режиме.

Cloud Native .NET apps for Azure eBook cover thumbnail.

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

В отличие от традиционных монолитных приложений, где все работает вместе в одном процессе, облачные собственные системы принимают распределенную архитектуру, как показано на рис. 6-1:

Distributed cloud-native environment

Рис. 6-1. Распределенная облачная среда

На предыдущем рисунке каждая микрослужба и облачная служба резервной службы выполняются в отдельном процессе между инфраструктурой сервера, взаимодействуя через сетевые вызовы.

Работая в этой среде, служба должна быть чувствительна к различным проблемам:

  • Непредвиденная задержка в сети — время для запроса на обслуживание, перемещаемого к получателю и обратно.

  • Временные ошибки — кратковременные ошибки сетевого подключения.

  • Блокировка длительной синхронной операции.

  • Процесс узла, который произошел сбой и перезапускается или перемещается.

  • Перегруженная микрослужба, которая не может реагировать в течение короткого времени.

  • Операция оркестратора в полете, например последовательное обновление или перемещение службы с одного узла на другой.

  • Сбои оборудования.

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

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