事件串流處理中的 Azure Kubernetes

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

解決方案構想

本文是解決方案概念。 如果您想要以更多資訊擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應讓我們知道。

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

架構

顯示本文所述資料流程的架構圖表。

下載這個架構的 Visio 檔案

資料流程

  1. AKS 搭配 KEDA 調整器可用來根據需要處理的事件數目自動調整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 是一種多模型資料庫服務,可在無伺服器、以耗用量為基礎的模式中使用。 在此案例中,事件處理函式會使用 適用于 NoSQL 的 Azure Cosmos DB來儲存 JSON 記錄。

注意

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

實例詳細資料

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

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

潛在使用案例

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

參與者

本文由 Microsoft 維護。 最初是由下列參與者所撰寫。

主體作者:

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

下一步