Function Compute支援為函數版本建立別名。結合別名和版本功能,實現軟體開發生命週期中的持續整合和發布。本文介紹別名的含義以及如何通過Function Compute控制台管理別名。
什麼是別名
在Function Compute中,別名可以理解為指向特定版本的指標。通過別名,您可以輕鬆實現版本發布、復原以及灰階發布等功能。別名無法脫離函數或版本單獨存在,使用別名訪問函數時,Function Compute會將別名解析為其指向的版本,調用方無需瞭解別名指向的具體版本。
以HTTP觸發器為例,如果沒有別名,每次新版本上線,您需要手動修改HTTP觸發器關聯的版本號碼,在修改的過程中會影響用戶端的使用。使用別名後,可以實現版本的平滑升級。例如,將別名PROD指向穩定的版本1,用戶端通過別名PROD調用版本1下的函數(如圖1),當發布版本2時,只需將別名PROD指向版本2,用戶端即可通過別名PROD調用版本2下的函數(如圖2)。
平滑升級版本
圖 1. 發布版本1

版本1發布後,您可以繼續在LATEST版本上開發新功能。由於用戶端是通過別名調用對應版本下的函數,當需要發布新版本2時,只需要將別名PROD更新為指向版本2,此時,用戶端通過別名PROD調用函數時解析出的版本即為版本2,這樣就可以完成版本的更新迭代。
圖 2. 發布版本2

快速復原
如果版本2出現異常,只需將別名PROD重新指向版本1,復原到之前的版本,此操作不會影響用戶端的使用。
灰階發布
您還可以通過別名來控制流程量灰階,例如,將5%的線上流量通過別名發送到新版本2進行灰階驗證,然後逐步切換流量到版本2,從而降低部署新版本的風險,。
圖3. 灰階發布

別名支援的配置項
別名支援的配置項與函數代碼和函數主配置等無關,僅與函數觸發和函數執行相關,例如觸發器、彈性策略和任務模式。別名代表不同的環境,通過在別名上設定配置項,方便切換版本時無需修改函數代碼和函數配置。例如,別名上配置觸發器後,別名指向的版本的函數可以通過此觸發器調用。
關於版本和別名上可以綁定的配置項對比如下表所示,
表示當前配置項支援綁定到該專案,
表示當前配置項不支援綁定到該專案。
配置類型 | 版本 | 別名 |
代碼邏輯 |
|
|
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
前提條件
建立別名
登入Function Compute控制台,在左側導覽列,選擇。
在頂部功能表列,選擇地區,然後在函數列表頁面,單擊目標函數。
在函數詳情頁,選擇別名管理頁簽,在別名頁面,單擊建立別名。
在建立函數別名面板,填寫別名的相關資訊,然後單擊確定。
相關配置項說明如下。
配置項
說明
名稱
要建立的別名的名稱。
描述
別名的描述資訊。
主要版本
設定別名的主要版本。
啟用灰階版本
是否啟用灰階版本。如需啟用灰階發布,需設定以下配置項。
灰階版本
設定別名的灰階版本。
灰階版本權重
表示切換流量至灰階版本的百分比。例如,設定該配置項的值為5%,將分配5%的流量到灰階版本,95%的流量到主要版本。
在別名頁面,您可以看到剛才建立的別名。您還可以根據介面提示對已建立的別名進行編輯、刪除不需要的別名。
刪除一個別名只會刪除別名本身,不會刪除別名指向的版本,也不會刪除指向此別名的觸發器。
更多資訊
您可以配置函數的最小執行個體數≥1,提前鎖定彈性資源,確保別名指向的版本擁有足夠的預熱資源。具體操作,請參見配置最小執行個體數彈性策略。
除了通過控制台,您還可以使用Serverless Devs為函數配置別名。更多操作,請參見Serverless Devs常用命令。