使用 AKS 的即時 IoT 資料串流Instant IoT data streaming with AKS

概觀Overview

此範例案例示範如何內嵌及分析大量的 IoT 資料,並產生即時建議和見解。This example scenario demonstrates how to ingest and analyze high volumes of IoT data and generate real-time recommendations and insights.

此範例會利用:This example utilizes:

  • 即時資料內嵌和處理管線,能夠在幾秒鐘內偵測和通知Real-time data ingestion and processing pipeline capable of detection and notification within seconds
  • 一種安全的 API 閘道,可連接到任何地方執行的後端服務A secure API gateway that connects to back-end services running anywhere
  • 彈性布建計算容量,而不需要管理基礎結構Elastic provisioning of compute capacity without the need to manage the infrastructure

架構Architecture

架構圖表 *下載SVG *Architecture Diagram Download an SVG

資料流程Data Flow

整個解決方案的資料流程如下所示:The data flows through the solution as follows:

  1. 感應器資料會產生並串流至 Azure API 管理Sensor data is generated and streamed to Azure API Management
  2. AKS 叢集會執行部署為服務網狀背後容器的微服務;使用 DevOps 程式建立容器,並將其儲存在 Azure Container RegistryAKS cluster runs microservices that are deployed as containers behind a service mesh; containers are built using a DevOps process and stored in Azure Container Registry
  3. 內嵌服務會將資料儲存在 Azure Cosmos DBIngest service stores data in an Azure Cosmos DB
  4. 分析服務會以非同步方式接收資料,並將資料串流至 Apache Kafka 和 Azure HDInsightAsynchronously, the analysis service receives the data and streams it to Apache Kafka and Azure HDInsight
  5. 資料科學家可以使用 Splunk 分析要在機器學習模型中使用的大型資料Data scientists can analyze the big data for use in machine learning models using Splunk
  6. 資料是由處理服務處理,它會將結果儲存在適用於 PostgreSQL 的 Azure 資料庫中,並將資料快取到 Azure Cache for RedisData is processed by the processing service, which stores the result in Azure Database for PostgreSQL and caches the data in an Azure Cache for Redis
  7. 在 Azure App Service 中執行的 web 應用程式會用來將結果視覺化A web app running in Azure App Service is used to visualize the results

元件Components

此範例案例會使用數個 Azure 元件:This example scenario uses several Azure components:

  • Azure Pipelines:將組建和推送映射自動化至容器登錄,並將容器部署至 KubernetesAzure Pipelines: Automate build and push images to container registry and deployment of containers to Kubernetes
  • AZURE API 管理:選擇性地將資料和服務公開給外界,並管理傳入的 API 呼叫Azure API Management: Selectively expose data and services to the outside world and manage incoming API calls
  • Azure Container Registry:建立、儲存、保護、掃描、複寫及管理容器映射和構件Azure Container Registry: Build, store, secure, scan, replicate, and manage container images and artifacts
  • Azure Kubernetes Service:完全受控的 AZURE KUBERNETES SERVICE (AKS) 讓您輕鬆地部署和管理容器化應用程式Azure Kubernetes Service: The fully managed Azure Kubernetes Service (AKS) makes deploying and managing containerized applications easy
  • Azure Key Vault:保護雲端應用程式和服務所使用的密碼編譯金鑰和其他秘密Azure Key Vault: Safeguard cryptographic keys and other secrets used by cloud apps and services
  • Azure Cosmos DB:完全受控的資料庫服務,具有通行的全球散發與透明的多重主要複寫。Azure Cosmos DB: A fully managed database service with turnkey global distribution and transparent multi-primary replication.
  • Azure HDInsights:適用于開放原始碼分析且符合成本效益的企業級服務Azure HDInsights: A cost-effective, enterprise-grade service for open-source analytics
  • Azure Web Apps:建立及裝載 Web 應用程式、行動後端和 RESTful api,而不需要管理基礎結構。Azure Web Apps: Build and host web apps, mobile back ends, and RESTful APIs without managing infrastructure.
  • 適用于 postgresql 的 Azure 資料庫:以開放原始碼 Postgres 資料庫引擎為基礎的完全受控關係資料庫服務。Azure Database for PosgreSQL: a fully managed relational database service based on the open-source Postgres database engine.
  • Azure Databricks:以 Apache Spark 為基礎的分析平臺,已針對 Microsoft Azure 雲端服務平臺進行優化。Azure Databricks: An Apache Spark-based analytics platform optimized for the Microsoft Azure cloud services platform.
  • Azure Cache for Redis:完全受控、開放原始碼相容的記憶體內部資料存放區,可提供快速、可擴充的應用程式。Azure Cache for Redis: A fully managed, open source–compatible in-memory data store to power fast, scalable applications.

後續步驟Next Steps