Function Compute支援將應用型負載平衡 ALB(Application Load Balancer)作為事件來源,通過為ALB執行個體添加Function Compute類型的伺服器組,實現ALB轉寄請求到Function Compute並調用函數。
功能簡介
ALB支援將Function Compute添加為後端服務,當接收到訪問請求時,ALB會將請求內容轉寄給Function Compute並觸發函數調用,函數運行完成後,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 Compute控制台,在左側導覽列,選擇。
在頂部功能表列,選擇地區,然後在函數列表頁面,單擊建立函數。
在函數詳情頁的代碼頁簽,然後單擊測試函數。
執行成功後,您可以在返回結果地區查看函數運行結果,本樣本返回結果為
hello world。
在建立函數頁面,選擇事件函數類型,選擇運行時,選擇預設範例程式碼,其餘參數保持預設值,然後單擊建立。本文以內建運行時Node.js為例。
步驟二:建立Function Compute類型的伺服器組
在應用型負載平衡ALB控制台的左側導覽列選擇伺服器組,在頂部功能表列選擇目標地區,單擊建立伺服器組。
在建立伺服器組對話方塊,伺服器群組類型選擇Function Compute類型,然後單擊建立。

在伺服器組建立成功對話方塊單擊添加後端伺服器。
在添加後端伺服器面板,選擇已建立的函數,然後單擊確定。
本文配置方式為通過選擇資源,函數名稱選擇已建立的函數,指定版本為LATEST。如需通過ARN配置,需擷取函數ARN。

步驟三:配置監聽
在左側導覽列,選擇,單擊執行個體ID。
單擊監聽頁簽,然後單擊建立監聽。
在配置監聽設定精靈頁面,完成監聽協議和連接埠配置,然後單擊下一步。
本文使用HTTP協議、80連接埠。HTTP監聽其他參數配置可保持預設值或根據實際情況修改。

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

在組態稽核設定精靈,確認配置資訊,單擊提交。
步驟四:連通性測試
完成上述操作後,Function Compute和ALB已經建立了串連。您可以開啟命令列視窗,執行命令curl <ALB執行個體網域名稱>,測試ALB和Function Compute的連通性。
執行下方命令前,請將
alb-n9p0q18eh2pbw****.{region_id}.alb.aliyuncsslb.com替換為實際ALB執行個體網域名稱。如果您是在私網環境下訪問ALB,請確保當前網路所在的VPC與ALB執行個體所在的VPC一致。
如果您已為ALB執行個體網域名稱佈建網域名解析,綁定了自訂網域名,請將
alb-n9p0q18eh2pbw****.{region_id}.alb.aliyuncsslb.com替換為您的自訂網域名。
curl alb-n9p0q18eh2pbw****.{region_id}.alb.aliyuncsslb.com返回以下結果,表示ALB可以將請求轉寄至Function Compute並調用函數。

更多資訊
實際業務情境中,建議您使用自訂網域名,配置CNAME網域名稱解析將自訂網域名指向ALB執行個體網域名稱,完成後可以通過自訂網域名訪問函數。綁定自訂網域名之前,請先註冊網域名稱並完成ICP備案流程。
建立伺服器組時,如果啟用了健全狀態檢查功能,健全狀態檢查探測次數將計為Function Compute的請求次數,Function Compute側會產生一定的費用。