Маршрутизация событий Интернета вещей

Azure IoT
Центр Интернета вещей Azure

В решении Интернета вещей (IoT) устройства IoT отправляют события (уведомления, подтверждения, данные телеметрии) в приложение для сбора аналитики. Приложениям могут потребоваться определенные подмножества событий для обработки или хранения в различных конечных точках. Эти события также необходимо направить в различные службы для дальнейшей обработки. Когда решение IoT горизонтально масштабируется, также меняются количество устройств, объем событий, разнообразие событий и служб, использующих решение. Для реализации этого шаблона требуется гибкий, масштабируемый и надежный метод маршрутизации событий.

Потенциальные варианты использования

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

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

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

Архитектура

Architecture diagram illustrating use of rules to route events to different Azure services.

Скачайте файл Visio для этой архитектуры.

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

Характеристики

Ниже приведены некоторые характеристики при использовании этого шаблона.

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

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

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

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

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

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

Этот шаблон следует использовать в следующих случаях:

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

  • При фильтрации событий путем применения конкретных правил.

Этот шаблон не рекомендуется для:

  • Маршрутизации на основе сложного анализа данных временного ряда в режиме реального времени. Например, при сравнении средних данных телеметрии за 15 минут. Если требуется анализ данных в режиме реального времени, используйте службу аналитики в режиме реального времени для данных критического пути.

Следующие шаги