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


Что такое сетка событий Azure?

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

Сетка событий позволяет клиентам публиковать и подписываться на сообщения по протоколам MQTT версии 3.1.1 и версии 5.0 для поддержки решений Интернета вещей (IoT). С помощью ПРОТОКОЛА HTTP сетка событий позволяет создавать решения на основе событий, в которых служба издателя объявляет об изменениях состояния системы (события) для приложений подписчиков. Сетка событий может быть настроена для отправки событий подписчикам (принудительной доставке) или подписчикам можно подключиться к сетке событий для чтения событий (доставки по запросу). Служба "Сетка событий" поддерживает спецификацию CloudEvents 1.0 для обеспечения взаимодействия между системами.

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

Основные возможности

Ниже приведены два основных компонента Сетка событий Azure:

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

Распределение данных с помощью режимов отправки и извлечения. В любой момент в конвейере данных HTTP-приложения могут использовать сообщения с помощью API отправки или извлечения. Источник данных может включать данные клиентов MQTT, но также включает следующие источники данных, отправляющие события по протоколу HTTP:

  • Службы Azure;
  • Пользовательские приложения
  • Системы внешнего партнера (SaaS)

Механизм принудительной доставки Сетки событий отправляет данные в места назначения, которые включают собственные веб-перехватчики приложений и службы Azure. Давайте подробно рассмотрим следующие две функции:

Обмен сообщениями MQTT

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

Служба "Сетка событий" интегрируется с операциями Интернета вещей Azure для моста с возможностями брокера MQTT MQTT в пограничном регионе с возможностями брокера MQTT сетки событий в облаке. Брокер MQTT Azure IoT — это новый распределенный брокер MQTT для пограничных вычислений, работающий в кластерах Kubernetes с поддержкой Arc. Теперь она доступна в общедоступной предварительной версии в рамках операций Интернета вещей Azure.

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

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

Ниже приведены некоторые основные моменты поддержки обмена сообщениями MQTT в Сетка событий Azure:

  • Поддержка MQTT версии 3.1.1 и MQTT версии 5.0— используйте любую клиентную библиотеку MQTT открытый код MQTT для взаимодействия со службой.
  • Пользовательские разделы с поддержкой подстановочных знаков. Используйте собственную структуру раздела.
  • Модель обмена сообщениями о публикации и подписке. Эффективное взаимодействие с использованием шаблонов обмена сообщениями "один ко многим", "многие ко многим" и "один к одному".
  • Встроенная облачная интеграция. Маршрутизация сообщений MQTT в службы Azure или пользовательские веб-перехватчики для дальнейшей обработки.
  • Гибкая и детализированная модель управления доступом — группирование клиентов и разделов для упрощения управления доступом и использование поддержки переменных в шаблонах разделов для точного управления доступом.
  • Методы проверки подлинности брокера MQTT. Проверка подлинности на основе сертификата X.509 является стандартом проверки подлинности в отрасли на устройствах Интернета вещей, Microsoft Entra IDauthentication является стандартом проверки подлинности Azure для приложений и проверки подлинности OAuth 2.0 (JSON Web Token) обеспечивает упрощенный, безопасный и гибкий вариант для клиентов MQTT, которые не подготовлены в Azure.
  • Поддержка tls 1.2 и TLS 1.3 . Защита взаимодействия клиента с помощью надежных протоколов шифрования.
  • Поддержка нескольких сеансов— подключение приложений к нескольким активным сеансам для обеспечения надежности и масштабируемости.
  • MQTT через WebSockets — включение подключения для клиентов в средах, ограниченных брандмауэром.
  • Пользовательские доменные имена. Позволяет пользователям назначать собственные доменные имена конечным точкам пространства имен Сетки событий MQTT, повышая безопасность и упрощая настройку клиента.
  • События жизненного цикла клиента— позволяют приложениям реагировать на события о состоянии подключения клиента или операциях ресурсов клиента.

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

Обмен сообщениями о событиях (HTTP)

Служба "Сетка событий" поддерживает доставку событий отправки и извлечения с помощью HTTP. При отправке вы определяете назначение в подписке на события, в которую сетка событий отправляет события. При доставке по запросу приложения подписчиков подключаются к сетке событий для использования событий. Доставка по запросу поддерживается для разделов в пространстве имен Сетки событий.

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

Обработчики событий

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

Отправка отправки и доставка по запросу

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

Доставка по запросу

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

Отправка отправки

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

Ниже приведены некоторые основные моменты модели HTTP:

  • Гибкая модель потребления событий — при использовании HTTP используют события с помощью режима извлечения или отправки.
  • Системные события— быстрое выполнение со встроенными событиями службы Azure.
  • Собственные события приложения— используйте сетку событий для маршрутизации, фильтрации и надежной доставки пользовательских событий из приложения.
  • События партнеров— подписываться на события поставщика SaaS партнера и обрабатывать их в Azure.
  • Расширенная фильтрация— фильтрация по типу события или другим атрибутам события, чтобы убедиться, что обработчики событий или приложения-получатели получают только соответствующие события.
  • Надежность — функция принудительной доставки обеспечивает механизм повторных попыток в 24 часа с экспоненциальным обратным выходом, чтобы убедиться, что события доставляются. Если вы используете доставку по запросу, приложение имеет полный контроль над потреблением событий.
  • Высокая пропускная способность— создание интегрированных решений с помощью сетки событий.
  • Пользовательские доменные имена— позволяет пользователям назначать собственные доменные имена конечным точкам пространства имен Сетки событий, повышая безопасность и упрощая настройку клиента.

Дополнительные сведения см. в следующих статьях:

Случаи использования

Список вариантов использования, в которых можно использовать Сетка событий Azure, см. в разделе "Варианты использования"

Поддерживаемые регионы

Ниже приведен список регионов, где доступны новые функции брокера MQTT и пространства имен:

Region Region Region Region
Восточная Австралия Юго-восточная часть Австралии Центральная Австралия Центральная Австралия 2
Южная Бразилия Юго-Восточная Бразилия Центральная Канада Восточная Канада
Центральная Индия Центральная часть США Восточная Азия Восточная часть США
Восточная часть США 2 Западная часть США Центральная Франция Южная Франция
Северная Германия Центрально-Западная Германия Израиль, центральный регион Северная Италия
Восточная Япония Западная Япония Республика Корея, центральный регион Республика Корея, южный регион
Центральная Мексика Центрально-северная часть США Северная Европа Восточная Норвегия;
Центральная Польша Западная часть ЮАР Северная часть ЮАР Центрально-южная часть США
Южная Индия Юго-Восточная Азия Центральная Испания Центральная Швеция
Южная Швеция Северная Швейцария Западная Швейцария Северная часть ОАЭ;
Центральная часть ОАЭ южная часть Соединенного Королевства западная часть Соединенного Королевства Западная Европа
западная часть США 2 Западная часть США — 3 Центрально-западная часть США