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

Служба Azure Kubernetes (AKS)
Центр Интернета вещей Azure
Центры событий Azure
Функции Azure
Azure Cosmos DB

Идеи, связанные с решением

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

В этой статье описывается разновидность бессерверной архитектуры, управляемой событиями, которая выполняется в Служба Azure Kubernetes (AKS) со масштабировщиком KEDA. Решение обрабатывает поток данных, а затем записывает результаты в серверную базу данных.

Архитектура

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

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

Поток данных

  1. AKS со масштабировщиком KEDA используется для автомасштабирования Функции Azure контейнеров в зависимости от количества событий, которые необходимо обработать.
  2. События поступают в концентратор событий ввода.
  3. Для обработки события активируются функции Azure de-batching и filtering. На этом шаге выполняется фильтрация нежелательных событий и отмена пакетов полученных событий перед отправкой в концентратор выходных событий.
  4. Если функции Azure de-batching и filtering не удается сохранить событие, событие отправляется в концентратор событий Deadletter 1.
  5. События, поступающие в концентратор выходных событий, активируют функцию Azure Transforming. Эта функция Azure преобразует событие в сообщение для экземпляра Azure Cosmos DB.
  6. Событие хранится в базе данных Azure Cosmos DB.

Компоненты

  • Служба Azure Kubernetes (AKS) упрощает развертывание управляемого кластера Kubernetes в Azure, разгружая операционные издержки в Azure. Размещенная в Azure служба Kubernetes отвечает за критические задачи, в частности за мониторинг работоспособности и техническое обслуживание.
  • KEDA — это управляемое событиями средство автомасштабирования, используемое для масштабирования контейнеров в кластере Kubernetes в зависимости от количества событий, которые необходимо обработать.
  • Центры событий принимают поток данных. Служба Центры событий предназначена для сценариев потоковой передачи данных с высокой пропускной способностью.
  • Функции Azure — это независимая от сервера служба вычислений. В нем используется управляемая событиями модель, в которой триггер вызывает фрагмент кода ( функцию).
  • Azure Cosmos DB — это служба базы данных с несколькими моделями, доступная в бессерверном режиме на основе потребления. В этом сценарии функция обработки событий хранит записи JSON с помощью Azure Cosmos DB для NoSQL.

Примечание

Для сценариев Интернета вещей рекомендуется Центр Интернета вещей Azure. Центр Интернета вещей имеет встроенную конечную точку, совместимую с API Центры событий Azure, поэтому вы можете использовать в этой архитектуре обе службы без каких-либо существенных изменений во внутренней обработке. Дополнительные сведения см. в статье Подключение устройств Интернета вещей в Azure. Центр Интернета вещей и Центры событий.

Сведения о сценарии

В этой статье описывается бессерверная архитектура на основе событий, которая выполняется в AKS с масштабировщиком KEDA. Решение обрабатывает поток данных, а затем записывает результаты в серверную базу данных.

Дополнительные сведения об основных понятиях, рекомендациях и подходах к обработке бессерверных событий см. в статье Эталонная архитектура бессерверной обработки событий .

Возможные сценарии использования

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

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально она была написана следующими участниками.

Основной автор:

  • Раджаса Савант | Старший инженер по разработке программного обеспечения

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Дальнейшие действия