Выбор Центров событий Azure

Завершено

Некоторые приложения создают очень большое количество событий из многочисленных источников. В таких случаях часто применяется термин "большие данные". Для обработки больших данных требуется особая инфраструктура.

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

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

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

Центры событий выступают посредником в модели связи "публикация — подписка". В отличие от сетки событий, однако она оптимизирована для чрезвычайно высокой пропускной способности, большого количества издателей, безопасности и устойчивости.

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

Секции

Получая данные, Центры событий распределяют их по разделам. Разделы — это буферы, в которых сохраняются переданные данные. Из-за буферов событий события не являются временными, и событие не пропускается только потому, что подписчик занят или даже находится в автономном режиме. Подписчик всегда может использовать буфер для "захвата". По умолчанию события остаются в буфере в течение 24 часов, после чего их срок действия истекает автоматически. Буферы называются разделами, так как данные делятся между ними. Каждая секция имеет отдельный набор подписчиков.

Capture

Центры событий могут сразу же отправлять все ваши события в Azure Data Lake или Хранилище BLOB-объектов Azure для постоянного экономичного сохранения.

Проверка подлинности

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

Использование Центров событий

Центры событий поддерживают передачу потоков событий по конвейеру в другие службы Azure. Например, их использование с Azure Stream Analytics позволяет проводить сложный анализ данных почти в реальном времени с возможностью сопоставлять множество событий и находить разделы. В этом случае Stream Analytics считается подписчиком.

В нашем примере мы настроим архитектуру так, чтобы Центры событий проверяли подлинность данных, получаемых от авиадвигателей. Затем мы будем использовать запись для сохранения всех данных в Data Lake. Позже все данные можно использовать для повторного обучения и улучшения наших моделей машинного обучения. Наконец, подписчики Stream Analytics собирают потоки событий. Stream Analytics использует нашу модель машинного обучения для поиска шаблонов в данных датчика, которые могут указывать на проблемы.

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

Какую службу следует использовать?

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

Выберите Центры событий, если:

  • Вам нужно поддерживать проверку подлинности большого количества издателей.
  • Вам необходимо сохранять поток событий в Azure Data Lake или хранилище BLOB-объектов.
  • Вам необходимо осуществлять агрегирование или анализ потока событий.
  • Вам необходимо обеспечить надежный обмен сообщениями или устойчивость.

В противном случае, если вам нужна простая инфраструктура публикации событий с доверенными издателями (например, собственным веб-сервером), следует выбрать сетку событий.

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