Azure Functions 解決方案的設計

已完成

Azure Functions 是無伺服器應用程式平台。 當您想要在雲端執行一小段程式碼時可以使用 Functions,不需要擔心基礎結構的問題。

關於 Azure Functions 的須知事項

讓我們檢閱 Azure Functions 的一些優點和案例,讓它成為建置新工作負載的絕佳計算解決方案。

Flowchart for selecting Azure Functions solutions to build new workloads.

  • Azure Functions 提供內建可擴縮性。 您只需支付所用資源的費用。

  • 您可以使用 Azure Functions,以您選擇的語言撰寫函式程式碼。

  • Azure Functions 支援以兩種重要的方式隨選計算

    • 首先,Azure Functions 可讓您將系統邏輯實作為現成可用的程式碼區塊。 當您需要回應重大事件時,可以隨時執行這些程式碼區塊 (函式)。

    • 第二,隨著要求增加,Azure Functions 會視需要滿足多個資源和函式執行個體的需求。 當要求完成時,系統會自動捨棄任何額外的資源和應用程式執行個體。

  • 若要處理事件所觸發的特定可定義動作時,Azure Functions 是最佳選擇。 例如,函式可以處理 API 呼叫,然後將已處理的資料儲存在 Azure Cosmos DB 中。 在資料傳輸發生後,另一個函式可能會觸發通知。

    Diagram that shows how Azure Functions responds to API calls and outputs data to Azure Notification Hubs.

使用 Azure Functions 時應考慮的事項

讓我們看看使用 Azure Functions 的一些最佳做法。 當您考慮這些建議時,請想想在 Tailwind Traders 基礎結構中使用 Azure Functions 的優點。

  • 考慮長時間執行的函式。 避免可能造成非預期逾時問題的大型長時間執行函式。 在可能時,將大型函式重構為較小的函式集,可讓函式共用運作並更快傳回回應。 使用量方案函式的預設逾時是 300 秒,任何其他方案則為 30 分鐘。

  • 考慮 Durable Functions。 使用 Durable Functions 和較小的函式集克服設定中的逾時問題。 Durable Functions 可讓您撰寫具狀態函式。 在幕後,函式會管理應用程式狀態、檢查點和重新開機。 Durable Functions 的一個應用程式模式範例是函式鏈結。 函式鏈結會按照特定順序執行一連串的函式。 一個函式的輸出會套用至另一個函式的輸入。

  • 考慮效能和擴充。 考慮如何使用不同的負載設定檔將函式分組。 考慮您有兩個函式的案例。 一個函式會處理數千個佇列訊息,而且記憶體需求很低。 另一個函式只會偶爾呼叫,但是對記憶體需求很高。 在此案例中,您可能會想要部署個別的函式應用程式,其中每個函式都有自己的一組資源。 個別的資源表示您可以單獨調整函式。

  • 考慮防禦函式。 設計函式來處理例外狀況。 下游服務、網路中斷或記憶體限制都可能會導致函式失敗。 撰寫函式,以便在發生失敗時繼續。

  • 考慮不要共用儲存體帳戶。 為了儘可能提高效能,每個函數應用程式應使用個別的儲存體帳戶。 當您建立函式應用程式時,將其與唯一儲存體帳戶建立關聯性。 如果您的函式會產生大量儲存體交易,則使用唯一儲存體帳戶很重要。

商務應用程式

花幾分鐘的時間,閱讀其他 Azure Functions 最佳做法

您可以瀏覽 [程式碼範例] 頁面,以取得如何使用 Azure Functions 的其他相關概念。