使用 AKS 進行資料串流
解決方案構想
本文說明解決方案概念。 您的雲端架構師可以使用本指南,協助視覺化此架構的一般實作的主要元件。 以本文為起點,設計符合您工作負載具體要求的完善解決方案。
本文提供使用 Azure Kubernetes Service (AKS) 快速處理和分析來自裝置的大量串流數據的解決方案。
Apache®、 Apache Kafka 和 Apache Spark 是 Apache Software Foundation 在美國和/或其他國家/地區的註冊商標或商標。 使用這些標記不會隱含 Apache Software Foundation 的背書。 Splunk 是 Cisco 的註冊商標。
架構
下載此架構的 Visio 檔案。
資料流程
- 感測器會產生數據並將其串流至 Azure API 管理。
- AKS 叢集會執行部署為服務網格後方容器的微服務。 容器是使用DevOps程式所建置。 容器映像會儲存在 Azure Container Registry 中。
- AKS 中的內嵌服務會將數據儲存在 Azure Cosmos DB 中。
- 異步地,AKS 中的分析服務會接收數據,並將其串流至 Azure HDInsight 上的 Apache Kafka。
- 數據科學家在 Azure HDInsights 和 Splunk 平臺上使用機器學習模型來分析數據。
- AKS 中的處理服務會處理數據,並將結果儲存在 適用於 PostgreSQL 的 Azure 資料庫 中。 服務也會快取 Azure Cache for Redis 中的數據。
- Azure App 服務 中執行的 Web 應用程式會建立結果的視覺效果。
元件
AKS 是受控 Kubernetes 容器協調流程服務。 在此架構中,它託管容器化微服務,用於從感測器擷取、處理和路由串流資料到各種儲存和分析層。
Apache Kafka 是一個分散式事件串流平台,專為高輸送量、低延遲的資料饋送而設計。 在此架構中,它會從 AKS 微服務接收即時資料,並將它串流至 Azure HDInsight 以進行大規模分析。
API 管理 是發佈、保護和分析 API 的閘道。 在此架構中,它會從感應器接收傳入數據,並將它路由傳送至 AKS 叢集進行處理。
App Service 是用於建置和裝載 Web 應用程式的完全受控平台。 在此架構中,它會執行一個 Web 應用程式,以視覺化 PostgreSQL 資料庫的處理結果。
適用於 Redis 的 Azure 快取 是支援快速資料存取的記憶體內部資料存放區。 在此架構中,它會暫時儲存來自 AKS 微服務的已處理資料,以加速存取並減少延遲。
Azure Cosmos DB 是全域分散式 NoSQL 資料庫服務。 在此架構中,它會儲存從 AKS 微服務擷取的資料。
適用於 PostgreSQL 的 Azure 資料庫 是以 PostgreSQL 為基礎的受控關聯式資料庫服務。 在此架構中,它會儲存來自 AKS 微服務的處理結果,以進行下游報告和視覺效果。
Azure HDInsight 是雲端式服務,可使用開放原始碼架構進行巨量數據分析。 在此架構中,它會執行 Apache Spark 任務來分析來自 Kafka 的串流資料,並支援機器學習工作負載。
Azure Pipelines 是 Azure DevOps 內的持續整合和持續傳遞 (CI/CD) 服務。 在此架構中,它會建置容器化微服務並將其部署至 AKS,以啟用自動化且可重複的傳遞工作流程。
Container Registry 是受管理的 Docker 容器登錄服務。 在此架構中,它會儲存包含微服務的容器映像。
Splunk 是一個用於機器生成數據的數據分析和可視化平台。 在此架構中,它會分析來自 Azure HDInsight 的即時資料,並建立商業智慧的視覺化儀表板。
案例詳細資料
此解決方案非常適合涉及數百萬個數據點的案例,其中數據源包括物聯網(IoT)裝置、感測器和車輛。 在這種情況下,處理大量數據是一項挑戰。 快速分析數據是另一項苛刻的工作,因為組織會尋求深入瞭解複雜的案例。
AKS 中的容器化微服務會形成解決方案的重要部分。 這些獨立的服務會內嵌及處理實時數據流。 它們也會視需要進行調整。 容器的可移植性可讓服務在不同的環境中執行,並處理來自多個來源的數據。 為了開發和部署微服務,會使用DevOps和持續整合/持續傳遞(CI/CD)。 這些方法可縮短開發週期。
為了儲存內嵌的數據,解決方案會使用 Azure Cosmos DB。 此資料庫可彈性地調整輸送量和記憶體,因此適合用於大量數據。
此解決方案也會使用Apache Kafka。 這個低延遲串流平臺會以極高速處理即時數據摘要。
另一個主要解決方案元件是 Azure HDInsight,這是受控雲端服務,可讓您使用最受歡迎的 開放原始碼 架構有效率地處理大量數據。 Azure HDInsight 可簡化在 Azure 中使用 Apache Spark 時,以大量和速度執行巨量數據架構。 Splunk 有助於數據分析程式。 Splunk 會從實時數據建立視覺效果,並提供商業智慧。
潛在使用案例
此解決方案可受益於下列領域:
- 車輛安全,特別是在汽車工業
- 零售和其他產業的客戶服務
- 醫療保健雲端解決方案
- 金融業的金融技術解決方案
下一步
產品文件:
- 關於 Azure Cache for Redis
- 什麼是 Azure API 管理?
- App Service 概觀
- Azure Kubernetes 服務
- Azure Container Registry 簡介
- 歡迎使用 Azure Cosmos DB
- 什麼是適用於 PostgreSQL 的 Azure 資料庫? (部分機器翻譯)
- 什麼是 Azure HDInsight?
- 什麼是 Azure Pipelines?
Microsoft訓練模組:
- 使用 Azure Container Registry 建置及儲存容器映像
- 設定 Azure App 服務 方案
- 使用 Azure Cosmos DB
- 建立並連線至 適用於 PostgreSQL 的 Azure 資料庫
- 針對 Azure Cache for Redis 進行開發
- 探索 API 管理
- Azure HDInsight 簡介