解決方案構想
本文是解決方案概念。 如果您想要以更多資訊擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應讓我們知道。
本文說明無伺服器事件驅動架構的變化,這些架構會搭配 KEDA 調整器在 Azure Kubernetes Service (AKS) 上執行。 解決方案會擷取資料流程、處理資料,然後將結果寫入後端資料庫。
架構
下載這個架構的 Visio 檔案 。
資料流程
- AKS 搭配 KEDA 調整器可用來根據需要處理的事件數目自動調整Azure Functions容器。
- 事件抵達輸入事件中樞。
- 取消批次處理和篩選 Azure 函式會觸發以處理事件。 此步驟會篩選掉不必要的事件,並在提交至輸出事件中樞之前取消批次處理收到的事件。
- 如果取消批次處理和篩選 Azure 函式無法成功儲存事件,事件就會提交至 Deadletter 事件中樞 1。
- 抵達輸出事件中樞的事件會觸發轉換 Azure 函式。 此 Azure 函式會將事件轉換成 Azure Cosmos DB 實例的訊息。
- 事件會儲存在 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 維護。 最初是由下列參與者所撰寫。
主體作者:
- Rajasa Savant |資深軟體發展工程師
若要查看非公用LinkedIn設定檔,請登入 LinkedIn。
下一步
- Azure Kubernetes Service 簡介
- Azure 事件中樞文件
- Azure Functions 簡介
- Azure Functions 文件
- Azure Cosmos DB 概觀
- 選擇 Azure Cosmos DB 中的 API
相關資源
- 無伺服器事件處理 是參考架構,詳細說明此類型的一般架構,其中包含程式碼範例和重要考慮的討論。
- 監視無伺服器事件處理 提供監視無伺服器事件驅動架構的概觀和指引,如下所示。
- 使用事件中樞在無伺服器事件處理中取消批次處理和篩選 會詳細說明架構的這些部分的運作方式。
- 事件串流處理中的私人連結案例 是實作具有私人端點之虛擬網路中類似架構的解決方案概念,以增強安全性。