全部產品
Search
文件中心

Server Load Balancer:ALB添加Function ComputeFC作為後端服務

更新時間:Jun 21, 2025

如果您使用阿里雲Function Compute(Function Compute,簡稱FC),並需要將Function Compute作為ALB後端服務來處理請求,您可以為ALB執行個體添加Function Compute類型的伺服器組。通過ALB和Function Compute的配置,實現ALB轉寄請求至Function Compute並調用函數,函數在運行完成後,Function Compute將運行結果作為響應返回給請求方。

功能簡介

阿里雲Function Compute是事件驅動的全託管計算服務。通過Function Compute,您無需管理伺服器等基礎設施,只需編寫代碼並上傳。Function Compute會為您準備好計算資源,以彈性、可靠的方式運行您的代碼,並提供日誌查詢、效能監控、警示等功能。藉助Function Compute,您可以快速構建任何類型的應用和服務,並且只需為任務實際消耗的資源付費。

ALB支援將Function Compute添加為後端服務,當接收到訪問請求時,ALB會將請求內容轉寄給Function Compute並觸發函數調用,函數運行完成後,Function Compute將運行結果作為響應返回給請求方。

說明
  • ALB支援將Function Compute3.0/2.0添加為後端服務。

  • 使用Function Compute服務前需要先開通Function Compute服務。如果您是在2024年08月27日之後註冊阿里雲帳號並完成實名認證,無需開通可直接使用Function Compute產品。

  • 應用型負載平衡ALB與Function ComputeFC之間通過阿里雲內部網路進行安全通訊。

關鍵特性

  • 無伺服器架構支援:ALB添加Function Compute作為後端服務,可輕鬆構建無伺服器應用,減少營運成本。

  • 自動Auto Scaling:Function Compute能夠根據流量自動擴充或縮減計算資源,確保應用在高峰期具備足夠的計算能力,並在低穀時期節約資源。

  • 高可用性和容錯性:ALB和Function Compute共同提供高可用和容災恢複能力,確保應用的穩定運行。

適用情境

  • 微服務情境:通過ALB豐富的進階路由能力,將請求分配到不同的微服務函數中。Function Compute可以動態擴充,處理高並發請求,提高系統的彈性和可靠性。

  • 即時資料處理情境:通過ALB將資料處理請求分配給相應的函數,Function Compute可以用幾行代碼和簡單的配置對資料進行即時處理。

  • 事件驅動情境:ALB接收事件觸發請求,將其轉寄到相應的函數。Function Compute處理事件,並將處理結果儲存到資料庫或發送到其他服務,實現事件驅動的動態處理。

  • 映像和視頻處理情境:ALB接收上傳的映像或視頻請求,將其分配到相應的處理函數進行處理。Function Compute提供彈性計算資源,可以根據任務自動擴充,確保處理任務的高效完成。

使用限制

  • ALB支援添加Function Compute作為後端服務的地區,請參見ALB掛載Function Compute支援的地區

  • ALB執行個體和函數須屬於同一個地區。

  • ALB的一個Function Compute類型伺服器組僅支援添加一個函數作為後端伺服器。

  • 當Function Compute2.0請求處理常式類型處理事件請求時,如果使用ALB關聯該類型函數,需要配置HTTP觸發器。

情境樣本

某電子商務企業在阿里雲某地區部署了ALB,以處理其平台上的大量使用者請求。隨著業務的發展和使用者量的增加,企業需要一種靈活、高效的方式來處理動態內容產生、使用者行為分析和個人化推薦等任務。

為瞭解決這一需求,企業選擇了阿里雲的Function Compute服務與ALB結合使用,從而實現了對以上任務的高效處理,顯著提升了使用者體驗。

前提條件

操作步驟

步驟一:建立函數

說明

本文以控制台為Function Compute3.0頁面進行操作。如果您需要使用Function Compute2.0,可單擊右上方返回Function Compute2.0,返回Function Compute2.0頁面建立函數

  1. Function Compute控制台的左側導覽列選擇函數,在函數頁面上方選擇目標地區,然後單擊建立函數

  2. 建立函數頁面,選擇函數類型並完成函數代碼配置,然後單擊建立

    本文以事件函數類型,函數代碼保持預設配置的使用範例程式碼為例,事件函數其他參數配置可保持預設值或根據實際情況修改。

    事件函數

    函數代碼

  3. 在函數詳情頁的代碼頁簽,單擊測試函數

    執行成功後,您可以在返回結果地區查看函數運行結果,本樣本返回結果為hello world

步驟二:建立Function Compute類型的伺服器組

  1. 應用型負載平衡ALB控制台的左側導覽列選擇伺服器組,在頂部功能表列選擇目標地區,單擊建立伺服器組

  2. 建立伺服器組對話方塊,伺服器群組類型選擇Function Compute類型,然後單擊建立

    重要

    當開啟健全狀態檢查時,健全狀態檢查探測次數將計為Function Compute的請求,Function Compute會進行計費

    建立RS

  3. 伺服器組建立成功對話方塊單擊添加後端伺服器

  4. 添加後端伺服器面板,選擇已建立的函數,然後單擊確定

    本文配置方式通過選擇資源函數名稱選擇已建立的函數,指定版本LATEST。如需通過ARN配置,需擷取函數ARN

    添加函數為後端伺服器

步驟三:配置監聽

  1. 在左側導覽列,選擇應用型負載平衡ALB > 執行個體,單擊執行個體ID。

  2. 單擊監聽頁簽,然後單擊建立監聽

  3. 配置監聽設定精靈頁面,完成監聽協議和連接埠配置,然後單擊下一步

    本文使用HTTP協議、80連接埠。HTTP監聽其他參數配置可保持預設值或根據實際情況修改。

    監聽

  4. 選擇伺服器組設定精靈,在選擇伺服器組的下拉框選擇Function Compute類型,選擇目標伺服器組,然後單擊下一步

    選擇伺服器組

  5. 組態稽核設定精靈,確認配置資訊,單擊提交

步驟四:佈建網域名解析

實際業務情境中,建議您使用自有網域名稱,通過CNAME解析的方式將自有網域名稱指向ALB執行個體網域名稱。

  1. 在左側導覽列,選擇應用型負載平衡 ALB > 執行個體,在執行個體頁面,複製已建立的ALB執行個體的DNS名稱。

  2. 執行以下步驟添加CNAME解析記錄。

    1. 網域名稱解析頁面,找到目標自有網域名稱,在操作列單擊解析設定

      說明

      對於非阿里雲註冊網域名稱,需先添加網域名稱到雲解析控制台,才可以進行網域名稱解析設定。

    2. 在解析設定頁面,單擊添加記錄,配置CNAME記錄,然後單擊確定

      本文情境中,記錄類型配置為CNAME記錄值配置為ALB執行個體的DNS名稱,解析記錄其他參數配置可保持預設值或根據實際情況修改。

      CNAME

步驟五:連通性測試

完成上述操作後,ALB和Function Compute已經建立了串連,您可以開啟命令列視窗,執行curl <自有網域名稱>命令,測試ALB和Function Compute的連通性。

如下圖所示,收到如下所示的回複報文,則表示ALB可以將請求轉寄至Function Compute並調用函數。

測試

常見問題

ALB添加Function Compute為後端服務時,為什麼服務QPS(每秒可處理的請求數)未達到預期?

單個ALB執行個體最大效能可達100萬QPS,但當ALB執行個體後端服務為Function Compute時,通過Function Compute所構建服務的QPS可能無法達到預期,主要原因包括:

  • Function Compute的單一實例QPS:Function Compute的單個執行個體在同一時刻只能處理一定數量的請求,當業務請求量超過當前執行個體數所能承載的最大QPS時,可能會出現請求排隊或限流的情況。

  • Function Compute執行個體數上限:執行個體數上限表示同一時刻最多能同時使用的執行個體數。如果執行個體數量不足,即使單一實例QPS較高,也會限制整體QPS。

    如何估算實際所需的最大執行個體數,請參見執行個體數上限與服務QPS的關係

您可以根據實際業務需求,合理配置執行個體並發度執行個體規格以及其他相關參數,必要時還可以提升執行個體上限,以達到最優的QPS效能上限。

相關文檔

控制台操作文檔

API文檔