全部產品
Search
文件中心

Function Compute:管理別名

更新時間:Jul 06, 2024

Function Compute支援為服務版本建立別名。結合別名和版本功能,實現軟體開發生命週期中的持續整合和發布。本文介紹別名的含義以及如何通過Function Compute控制台管理別名。

什麼是別名

Function Compute支援為服務的版本建立別名。別名可以理解為指向特定版本的指標。您可以利用別名來輕鬆實現發布、復原以及灰階發布等功能。別名無法脫離服務或版本單獨存在。使用別名訪問服務或函數時,Function Compute會將別名解析為其指向的版本,調用方無需瞭解別名指向的具體版本。

以HTTP觸發器為例,如果沒有別名,每次新版本上線,您需要手動修改HTTP觸發器關聯的版本號碼,在修改的過程中會影響用戶端的使用。如果使用別名進行版本管理,您可以實現版本的平滑升級。如下圖所示,將別名PROD指向穩定的版本1。用戶端直接通過別名PROD調用版本1下的函數。

圖 1. 發布版本1

版本1發布後,您可以繼續在LATEST版本上開發新功能。由於用戶端是通過別名調用對應版本下的函數,當需要發布新版本2時,只需要將別名PROD更新為指向版本2,此時,用戶端調用時解析出的版本即為版本2,這樣就可以完成版本的更新迭代。您也可以更改別名的指向,將別名PROD重新指向版本1復原到之前的版本。通過這種方式發布,不會影響用戶端的使用。

圖 2. 發布版本2

前提條件

建立別名

  1. 登入Function Compute控制台,在左側導覽列,單擊服務及函數
  2. 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務。
  3. 在左側導覽列,選擇別名管理,在別名管理頁面,單擊建立別名

  4. 在建立服務別名面板,填寫別名的相關資訊,然後單擊確定

    相關配置項說明如下。

    配置項

    說明

    名稱

    要建立的別名的名稱。

    描述

    別名的描述資訊。

    主要版本

    設定別名的主要版本。

    啟用灰階版本

    是否啟用灰階版本。如需啟用灰階發布,請選擇,並按需設定以下配置項。

    灰階版本

    設定別名的灰階版本。

    灰階類型

    根據不同的灰階策略分為按百分比隨機灰階按指定規則灰階

    • 按百分比隨機灰階:設定一定的權重切換流量到灰階版本。

    • 按指定規則灰階:設定一定的規則,並按照指定的規則模式進行灰階發布。

    說明

    按指定規則灰階目前僅在使用HTTP觸發器調用別名時生效。

    灰階版本權重

    灰階類型按百分比隨機灰階時,需設定此配置項。

    表示切換流量至灰階版本的百分比。例如,設定該配置項的值為5%,Function Compute將分配5%的流量到灰階版本,95%的流量到主要版本。

    規則模式

    灰階類型按指定規則灰階時,需設定此配置項。

    表示對設定的規則的選擇模式,取值如下:

    • 同時滿足下列規則

    • 滿足下列任意規則

    規則列表

    灰階類型按指定規則灰階時,需設定此配置項。

    表示具體的規則內容,包含以下三部分:

    • 參數類型:取值包含Header、Cookie和Query。

    • 參數:控制灰階發布的參數名。

    • 條件:計算條件。Function Compute參數的實際值與您填寫的參數值按照您設定的條件進行計算,如果滿足條件,則本條請求被路由至灰階版本。包含以下枚舉值:

      • =、!=、>、<、>=、<=:運算子比較條件。例如,設定條件=,表示僅當請求參數實際值等於設定的參數時,將本條請求路由至灰階版本。

      • in:字串匹配條件,僅當請求參數實際值包含在設定的參數以內時,將本條請求路由至灰階版本。

      • 值分布百分比:表示按照指定參數值的特定百分比灰階發布。例如,設定參數類型為Header,參數user-id20,表示根據HTTP請求Headeruser-id值的分布,其中20%的請求路由至灰階版本。

    • :控制灰階發布的參數值。

    單擊下方的+添加規則,可以添加更多其他規則。

    進階選項

    預留執行個體灰階比例

    用於控制預留模式的灰階執行個體比例。當預留的執行個體數量大於1時,會按照該配置項設定的比例產生預留模式的執行個體數量,否則,按照預設的1%產生預留模式的執行個體數量。

    重要

    僅當您預留的執行個體數量大於1時,該配置項的值有效。

    別名管理頁面,您可以看到剛才建立的別名。您還可以根據介面提示對已建立的別名進行編輯、刪除不需要的別名或者單擊目標別名操作列的日誌庫跳轉到Log ServiceSLS控制台查看日誌情況。

說明

刪除一個別名只會刪除別名本身,並不會刪除別名指向的版本,也不會刪除指向此別名的觸發器。

更多資訊

除了通過控制台,您還可以使用Serverless Devs為服務配置別名。更多操作,請參見Serverless Devs常用命令