Прочитать на английском

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


Обзор функции брокера MQTT в Event Grid Azure

Сетка событий Azure позволяет клиентам MQTT взаимодействовать друг с другом и службами Azure для поддержки решений Интернета вещей (IoT). Функция брокера MQTT Azure Event Grid позволяет осуществлять следующие сценарии. Можно найти примеры кода, демонстрирующие эти сценарии, в этом репозитории.

  • Прием данных телеметрии с использованием модели обмена сообщениями "многие к одному". Этот шаблон позволяет приложению выгрузить нагрузку на управление большим количеством подключений с устройствами в Сетку событий.
  • Управляйте клиентами MQTT с помощью шаблона обмена сообщениями "один к одному". Этот шаблон позволяет любому клиенту взаимодействовать с любым другим клиентом без ограничений независимо от ролей клиентов.
  • Трансляция оповещений для группы клиентов с помощью модели обмена сообщениями "один ко многим". Этот шаблон позволяет приложению публиковать только одно сообщение, которое служба реплицирует для каждого интересующего клиента.
  • Интегрируйте данные от ваших клиентов MQTT, маршрутизируя сообщения MQTT в службы Azure и веб-перехватчики через функцию пуш-доставки HTTP. Эта интеграция со службами Azure позволяет создавать конвейеры данных, начинающиеся с приема данных с устройств Интернета вещей.

Брокер MQTT идеально подходит для реализации сценариев автомобильной и мобильной среды, среди прочих. См . эталонную архитектуру , чтобы узнать, как создавать безопасные и масштабируемые решения для подключения миллионов транспортных средств к облаку с помощью служб обмена сообщениями и аналитики данных Azure.

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

Основные понятия

Ниже приведен список ключевых понятий, связанных с функцией брокера MQTT Azure Event Grid.

MQTT

MQTT — это протокол транспорта обмена сообщениями с подпиской на публикацию, предназначенный для ограниченных сред. Это стандарт связи goto для сценариев Интернета вещей из-за эффективности, масштабируемости и надежности. Брокер MQTT позволяет клиентам публиковать и подписываться на сообщения по протоколу MQTT версии 3.1.1, MQTT версии 3.1.1 через WebSockets, MQTT v5 и MQTT v5 по протоколам WebSockets. В следующем списке показаны некоторые основные моменты функции брокера MQTT:

  • Возможности MQTT версии 5:

    • Last Will and Testament оповещает ваших клиентов MQTT о резком отключении других клиентов MQTT. Эту функцию можно использовать для обеспечения предсказуемого и надежного потока обмена данными между клиентами MQTT во время непредвиденных отключений.
    • Свойства пользователя позволяют добавлять пользовательские пары "ключ-значение" в заголовок сообщения, чтобы предоставить больше контекста о сообщении. Например, включите назначение или источник сообщения, чтобы получатель смог эффективно обрабатывать сообщение.
    • Шаблон ответа на запрос позволяет клиентам воспользоваться стандартным асинхронным шаблоном ответа на запрос, указав раздел ответа и идентификатор корреляции в запросе, чтобы клиент ответил без предварительной настройки.
    • Срок действия сообщения позволяет указать брокеру MQTT, когда не учитывать сообщение, которое больше не актуально или не действительно. Например, игнорируйте устаревшие команды или оповещения.
    • Псевдонимы разделов помогают клиентам уменьшить размер поля раздела, что делает передачу данных менее дорогой.
    • Максимальный размер сообщения позволяет клиентам контролировать максимальный размер сообщения, который они могут обрабатывать с сервера.
    • Максимальная приемная способность позволяет вашим клиентам контролировать частоту сообщений в зависимости от их возможностей, таких как скорость обработки или емкость для хранения данных.
    • Очистка начала и истечение срока действия сеанса позволяют клиентам оптимизировать надежность и безопасность сеанса, сохраняя информацию о подписке и сообщения клиента в течение настраиваемого временного интервала.
    • Отрицательные подтверждения позволяют клиентам эффективно реагировать на различные коды ошибок.
    • Отправленные сервером пакеты отключения позволяют клиентам эффективно обрабатывать отключения.
  • Брокер MQTT будет добавлять новые функции версии 5 в будущем, чтобы лучше соответствовать спецификациям MQTT. Следующие элементы подробно описывают текущие различия между функциями, поддерживаемыми брокером MQTT, и спецификациями MQTT версии 5: Сообщения завещания, флаг сохранения, порядок сообщений и QoS 2 не поддерживаются.

  • Возможности MQTT версии 3.1.1:

    • Last Will and Testament уведомляет ваших клиентов MQTT о резких отключениях других клиентов MQTT. Эту функцию можно использовать для обеспечения предсказуемого и надежного потока обмена данными между клиентами MQTT во время непредвиденных отключений.
    • Постоянные сеансы обеспечивают надежность, сохраняя сведения о подписке и сообщения клиента при отключении клиента.
    • QoS 0 и 1 обеспечивают клиентам контроль над эффективностью и надежностью связи.
  • В будущем брокер MQTT добавит больше функций версии MQTT 3.1.1, чтобы привести их в большее соответствие с техническими спецификациями MQTT. Следующие аспекты подробно описывают текущие различия между функциями, поддерживаемыми брокером MQTT и спецификацией MQTT версии 3.1.1: флаг Retain, упорядочивание сообщений и QoS 2 не поддерживаются.

Дополнительные сведения о брокере MQTT и текущих ограничениях.

Модель обмена сообщениями Публикация-Подписка

Модель обмена сообщениями типа публикация-подписка обеспечивает масштабируемую и асинхронную связь с клиентами. Это позволяет клиентам выгрузить нагрузку на обработку большого количества подключений и сообщений в службу. С помощью модели обмена сообщениями publish-Subscribe клиенты могут эффективно взаимодействовать с помощью шаблонов обмена сообщениями "один ко многим", "многие к одному" и "один к одному".

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

Пространство имен

Пространство имен сетки событий — это контейнер управления для ресурсов, поддерживающих функциональные возможности брокера MQTT, а также ресурсы, поддерживающие функции доставки по запросу. Клиент MQTT может подключаться к брокеру MQTT и публиковать и подписываться на сообщения, а брокер MQTT проверяет подлинность клиентов, авторизует запросы на публикацию и подписку и пересылает сообщения заинтересованным клиентам. Дополнительные сведения о концепции пространства имен.

Клиенты

Клиенты ссылаются на устройства Интернета вещей или приложения, которые публикуют и подписываются на сообщения MQTT.

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

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

Аутентификация клиента

Служба "Сетка событий" содержит реестр клиентов, в который хранятся сведения о клиентах, разрешенных для подключения к нему. Прежде чем клиент сможет подключиться, в реестре клиентов должна быть запись. Как клиент подключается к брокеру MQTT, он должен пройти проверку подлинности с помощью брокера MQTT на основе учетных данных, хранящихся в реестре удостоверений. Брокер MQTT поддерживает следующие механизмы проверки подлинности клиента:

Управление доступом

Управление доступом критически важно для сценариев Интернета вещей, учитывая огромный масштаб сред Интернета вещей и уникальные проблемы безопасности ограниченных устройств. Сетка событий предоставляет контроль доступа на основе ролей (RBAC) с помощью гибкой модели управления доступом, которая позволяет управлять авторизацией клиентов для публикации или подписки на разделы.

Учитывая огромный масштаб сред Интернета вещей, назначение разрешений для каждого клиента на каждую тему чересчур утомительно. Гибкий контроль доступа Event Grid решает задачу масштабирования путем объединения клиентов и тем в группы клиентов и пространства тем. После создания клиентских групп и пространств разделов вы можете настроить привязку разрешений для предоставления доступа к группе клиентов для публикации или подписки на пространство тем.

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

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

Маршрутизация

Сервис Event Grid позволяет направлять сообщения MQTT в службы Azure или веб-хуки для дальнейшей обработки. Соответственно, можно создавать комплексные решения с помощью данных Интернета вещей для анализа данных, хранения и визуализаций, среди других вариантов использования. Конфигурация маршрутизации позволяет отправлять все сообщения MQTT от клиентов в раздел пространства имен сетки событий или настраиваемый раздел сетки событий. После отправки сообщений в раздел можно настроить подписку на события для использования сообщений из раздела. Например, эта функция позволяет использовать сетку событий для маршрутизации телеметрии с устройств Интернета вещей в Центры событий, а затем в Azure Stream Analytics для получения аналитических сведений от телеметрии устройства. Дополнительные сведения о маршрутизации.

Схема маршрутизации сообщений MQTT в Сетка событий Azure.

Интеграция брокера MQTT Edge

Служба Event Grid интегрируется с Azure IoT Operations, чтобы объединить возможности брокера MQTT на периферии с функцией брокера MQTT Azure Event Grid в облаке. Операции Интернета вещей Azure предоставляют новый распределенный брокер MQTT для пограничных вычислений, работающих в кластерах Kubernetes с поддержкой Arc. Он может подключаться к брокеру MQTT сервиса Event Grid с аутентификацией через Microsoft Entra ID, используя системно назначенное управляемое удостоверение, что упрощает управление учетными данными. Брокер MQTT обеспечивает высокий уровень доступности, масштабируемость и безопасность для устройств и приложений Интернета вещей. Теперь она доступна в общедоступной предварительной версии в рамках операций Интернета вещей Azure. Узнайте больше о подключении брокера MQTT операций Интернета вещей Azure к брокеру MQTT в Azure Event Grid.

События жизненного цикла клиентов MQTT

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

Имена пользовательских доменов

Поддержка пользовательских доменных имен позволяет пользователям назначать собственные доменные имена конечным точкам пространства имен Сетки событий MQTT и HTTP, повышая безопасность и упрощая настройку клиента. Эта функция помогает предприятиям соответствовать требованиям к безопасности и соответствию требованиям и устраняет необходимость изменения клиентов, уже связанных с доменом. Назначение имени личного домена нескольким пространствам имен также может помочь повысить доступность, управлять емкостью и обрабатывать мобильность клиентов между регионами. Дополнительные сведения о пользовательских доменных именах.

Основные понятия

Просмотрите следующие статьи по концепциям использования брокера MQTT в Событийной сети Azure.

Дополнительные сведения о брокере MQTT и его основных понятиях см. в следующих статьях.


Дополнительные ресурсы

Обучение

Сертификация

Microsoft Certified: Identity and Access Administrator Associate - Certifications

Продемонстрировать функции идентификатора Microsoft Entra для модернизации решений удостоверений, реализации гибридных решений и реализации управления удостоверениями.