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


Масштабируемость решения Интернета вещей, высокий уровень доступности и аварийное восстановление

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

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

Схема, на котором показана высокоуровневая архитектура решения на основе IoT edge, которая выделяет масштабируемость, высокий уровень доступности и аварийное восстановление.

Масштабируемость

Решение Интернета вещей может потребоваться для поддержки миллионов подключенных ресурсов и устройств. Необходимо убедиться, что компоненты в решении могут масштабироваться в соответствии с требованиями.

Разверните операции Интернета вещей Azure в кластере с несколькими узлами, чтобы обеспечить повышение спроса на трафик или рабочую нагрузку. Когда операции Интернета вещей Azure выполняются в кластере с несколькими узлами, они могут обрабатывать больше данных и использовать возможности масштабируемости и высокой доступности Kubernetes.

Вы можете масштабировать по горизонтали MQTT-брокер для Azure IoT, добавив больше фронтенд-реплик и бэкенд-партиций. Фронтенд-реплики отвечают за прием подключений MQTT от клиентов и перенаправление их к бэкенд-разделам. Разделы бэкэнда отвечают за хранение и доставку сообщений клиентам. Фронтенд модули pod распределяют трафик сообщений между бэкенд модулями pod. Серверный фактор избыточности определяет количество копий данных для обеспечения устойчивости к сбоям узлов в кластере. Дополнительные сведения см. в разделе "Настройка параметров брокера" для обеспечения высокой доступности, масштабирования и использования памяти.

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

Профиль потока данных можно масштабировать, чтобы настроить количество экземпляров, выполняющих потоки данных. Увеличение количества экземпляров может повысить пропускную способность потоков данных, создав несколько клиентов для обработки данных. При использовании потоков данных с облачными службами, имеющими ограничения скорости на каждого клиента, увеличение количества экземпляров может помочь вам соблюсти эти ограничения. Масштабирование также может повысить устойчивость потоков данных, обеспечивая избыточность в случае сбоев. Дополнительные сведения см. в разделе "Масштабирование профилей потока данных".

Высокий уровень доступности и аварийное восстановление

Решения Интернета вещей часто критически важны для бизнеса. Необходимо убедиться, что решение может продолжать работать, если произойдет сбой. Кроме того, необходимо убедиться, что решение можно восстановить после аварии.

Операции Azure IoT включают MQTT-брокер корпоративного уровня, соответствующий стандартам. Брокер MQTT является масштабируемым, высокодоступным и Kubernetes-native. Он предоставляет платформу обмена сообщениями для операций Интернета вещей, позволяет двунаправленную связь между периферией и облаком и обеспечивает работу приложений, основанных на событиях, на периферии. Чтобы обеспечить нулевую потерю данных и высокий уровень доступности во время обновления развертывания, брокер MQTT реализует последовательные обновления в модулях брокера MQTT.

Хранилище состояний — это распределенная система хранения, развернутая в рамках операций Интернета вещей Azure. С помощью хранилища состояний приложения могут получать, задавать и удалять пары "ключ-значение", не требуя установки дополнительных служб, таких как Redis. Хранилище состояний также обеспечивает управление версиями данных, а также примитивы для создания распределенных блокировок, идеально подходит для высокодоступных приложений. Чтобы узнать больше, см. раздел «Сохранение данных в хранилище состояний».

В кластерах, содержащих по крайней мере три узла, можно включить отказоустойчивость хранилища с помощью Azure Container Storage, поддерживаемого Azure Arc при развертывании операций Интернета вещей Azure.

Dapr предлагается в рамках брокера MQTT, абстрагируя сведения об управлении сессиями MQTT, уровне качества обслуживания (QoS) и подтверждением, а также встроенными хранилищами ключевых значений, что делает его практичным выбором для разработки высокодоступного приложения.

Пакеты SDK для операций Интернета вещей Azure (предварительная версия) — это набор средств и библиотек на нескольких языках, предназначенных для разработки высокодоступных приложений для операций Интернета вещей Azure.

Сведения о высокой доступности между зонами доступности и регионами реестра устройств Azure см. в разделе "Надежность" в реестре устройств Azure.