編輯

共用方式為


事件串流處理中的 Azure Kubernetes

Azure Kubernetes Service (AKS)
Azure IoT 中樞
Azure 事件中樞
Azure Functions
Azure Cosmos DB

解決方案構想

本文說明解決方案概念。 您的雲端架構設計人員可以使用本指南,協助可視化此架構的一般實作的主要元件。 使用本文作為起點,設計符合您工作負載特定需求的架構良好解決方案。

本文說明使用 KEDA 縮放程式在 Azure Kubernetes Service (AKS) 上執行的無伺服器事件驅動架構變化。 解決方案會擷取數據流、處理數據,然後將結果寫入後端資料庫。

架構

顯示本文所述數據流的架構圖表。

下載此架構的 Visio 檔案

資料流程

  1. 使用 KEDA 縮放器的 AKS,可根據需要處理的事件數目自動調整 Azure Functions 容器。
  2. 事件會抵達輸入事件中樞。
  3. 會觸發取消批處理和篩選 Azure 函式來處理事件。 此步驟會篩選掉不必要的事件,並在提交至輸出事件中樞之前,將收到的事件取消批處理。
  4. 如果取消批處理和篩選 Azure 函式無法成功儲存事件,事件就會提交至 Deadletter 事件中樞 1。
  5. 抵達輸出事件中樞的事件會觸發轉換 Azure 函式。 此 Azure 函式會將事件轉換成 Azure Cosmos DB 實例的訊息。
  6. 事件會儲存在 Azure Cosmos DB 資料庫中。

元件

  • Azure Kubernetes Service (AKS) 藉由將作業負荷卸載至 Azure,簡化在 Azure 中部署受控 Kubernetes 叢集的作業。 由於託管的 Kubernetes 服務,Azure 會處理重要的工作,例如健康情況監控和維護。
  • KEDA 是事件驅動的自動調整程式,可用來根據需要處理的事件數目來調整 Kubernetes 叢集中的容器。
  • 事件中 樞內嵌數據流。 事件中樞是專為高輸送量數據串流案例所設計。
  • Azure Functions 是無伺服器計算選項。 它會使用事件驅動模型,其中觸發程式會叫用一段程式代碼(函式)。
  • Azure Cosmos DB 是多模型資料庫服務,可在無伺服器耗用量模式中使用。 在此案例中,事件處理函式會使用適用於 NoSQLAzure Cosmos DB 來儲存 JSON 記錄。

注意

針對物聯網 (IoT) 案例,我們建議 Azure IoT 中樞。 IoT 中樞 具有與 Azure 事件中樞 API 兼容的內建端點,因此您可以在此架構中使用任一服務,而後端處理中沒有任何重大變更。 如需詳細資訊,請參閱將IoT裝置連線至 Azure:IoT 中樞 和事件中樞。

案例詳細資料

本文說明 使用 KEDA 縮放程式在 AKS 上執行的無 伺服器事件驅動架構。 解決方案會擷取數據流、處理數據,然後將結果寫入後端資料庫。

若要深入瞭解無伺服器事件處理的基本概念、考慮和方法,請參閱 無伺服器事件處理 參考架構。

潛在的使用案例

實作端對端事件串流處理模式的熱門使用案例包括事件中樞串流擷取服務,以使用以高度可調整、事件中樞觸發的函式實作的去批處理和轉換邏輯,每秒接收和處理事件。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。

下一步

  • 無伺服器事件處理 是參考架構,詳細說明此類型的一般架構,其中包含程式碼範例和重要考慮的討論。
  • 事件串流處理 中的私人連結案例是在具有私人端點的虛擬網路中實作類似架構的解決方案概念,以增強安全性。