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


Потоковая передача данных с помощью AKS

Служба приложений Azure
Управление API Azure
Реестр контейнеров Azure
Управляемый Redis в Azure
Azure Cosmos DB

Идеи решения

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

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

Apache®, Apache Kafka и Apache Spark являются зарегистрированными товарными знаками или товарными знаками Apache Software Foundation в США и /или других странах. Использование этих меток не подразумевает подтверждения от Apache Software Foundation. Splunk является зарегистрированным товарным знаком Cisco.

Архитектура

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

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

Поток данных

  1. Датчики создают данные и передают их в Azure Управление API.
  2. Кластер AKS запускает микрослужбы, развернутые в качестве контейнеров за сеткой службы. Контейнеры создаются с помощью процесса DevOps. Образы контейнеров хранятся в Реестр контейнеров Azure.
  3. Служба приема в AKS хранит данные в Azure Cosmos DB.
  4. Асинхронно служба анализа в AKS получает данные и передает его в Apache Kafka в Azure HDInsight.
  5. Специалисты по обработке и анализу данных используют модели машинного обучения в Azure HDInsights и платформе Splunk.
  6. Служба обработки в AKS обрабатывает данные и сохраняет результаты База данных Azure для PostgreSQL. Служба также кэширует данные в Кэш Azure для Redis.
  7. Веб-приложение, работающее в службе приложение Azure, создает визуализации результатов.

Компоненты

  • AKS — это управляемая служба оркестрации контейнеров Kubernetes. В этой архитектуре он размещает контейнеризованные микрослужбы, которые обрабатывают, обрабатывают и направляют потоковую передачу данных из датчиков в различные уровни хранилища и аналитики.

  • Apache Kafka — это распределенная платформа потоковой передачи событий, предназначенная для высокопроизводительных веб-каналов данных с низкой задержкой. В этой архитектуре он получает данные из микрослужб AKS в режиме реального времени и передает их в Azure HDInsight для крупномасштабной аналитики.

  • Управление API — это шлюз для публикации, защиты и анализа API. В этой архитектуре он получает входящие данные от датчиков и направляет его в кластер AKS для обработки.

  • Служба приложений — это полностью управляемая платформа для создания и размещения веб-приложений. В этой архитектуре он запускает веб-приложение, которое визуализирует обработанные результаты из базы данных PostgreSQL.

  • Кэш Azure для Redis — это хранилище данных в памяти, которое поддерживает быстрый доступ к данным. В этой архитектуре он временно сохраняет обработанные данные из микрослужб AKS для ускорения доступа и уменьшения задержки.

  • Azure Cosmos DB — это глобально распределенная служба базы данных NoSQL. В этой архитектуре хранятся полученные данные из микрослужб AKS.

  • База данных Azure для PostgreSQL — это управляемая служба реляционных баз данных на основе PostgreSQL. В этой архитектуре он сохраняет обработанные результаты микрослужб AKS для подчиненных отчетов и визуализации.

  • Azure HDInsight — это облачная служба для аналитики больших данных с помощью платформ с открытым кодом. В этой архитектуре выполняется задание Apache Spark для анализа потоковых данных из Kafka и поддерживает рабочие нагрузки машинного обучения.

  • Azure Pipelines — это служба непрерывной интеграции и непрерывной доставки (CI/CD) в Azure DevOps. В этой архитектуре он создает и развертывает контейнерные микрослужбы в AKS, чтобы включить автоматизированные и повторяемые рабочие процессы доставки.

  • Реестр контейнеров — это управляемая служба реестра контейнеров Docker. В этой архитектуре он хранит образы контейнеров, содержащие микрослужбы.

  • Splunk — это платформа аналитики данных и визуализации для созданных компьютером данных. В этой архитектуре он анализирует данные в режиме реального времени из Azure HDInsight и создает визуальные панели мониторинга для бизнес-аналитики.

Подробности сценария

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

Контейнерные микрослужбы в AKS образуют ключевую часть решения. Эти автономные службы обрабатывают и обрабатывают поток данных в режиме реального времени. Они также масштабируются по мере необходимости. Переносимость контейнеров позволяет службам выполняться в разных средах и обрабатывать данные из нескольких источников. Для разработки и развертывания микрослужб используются DevOps и непрерывная интеграция и непрерывная доставка (CI/CD). Эти подходы сокращают цикл разработки.

Для хранения данных приема решение использует Azure Cosmos DB. Эта база данных эластично масштабирует пропускную способность и хранилище, что делает его хорошим выбором для больших объемов данных.

Решение также использует Apache Kafka. Эта платформа потоковой передачи с низкой задержкой обрабатывает веб-каналы данных в режиме реального времени с чрезвычайно высокой скоростью.

Другим ключевым компонентом решения является Azure HDInsight, которая является управляемой облачной службой, которая позволяет эффективно обрабатывать большие объемы данных с помощью наиболее популярных платформ открытый код. Azure HDInsight упрощает выполнение платформ больших данных в большом объеме и скорости при использовании Apache Spark в Azure. Splunk помогает в процессе анализа данных. Splunk создает визуализации из данных в режиме реального времени и предоставляет бизнес-аналитику.

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

Это решение обеспечивает следующие преимущества:

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

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

Документация по продукту:

Модули обучения Майкрософт: