函数计算支持为服务版本创建别名。结合别名和版本功能,实现软件开发生命周期中的持续集成和发布。本文介绍别名的含义以及如何在函数计算控制台创建、更新、查看和删除别名。

什么是别名

函数计算支持为服务的版本创建别名。别名可以理解为指向特定版本的指针。您可以利用别名来轻松实现发布、回滚以及灰度发布等功能。别名无法脱离服务或版本单独存在。使用别名访问服务或函数时,函数计算会将别名解析为其指向的版本,调用方无需了解别名指向的具体版本。

以HTTP触发器为例,如果没有别名,每次新版本上线,您需要手动修改HTTP触发器关联的版本号,在修改的过程中会影响客户端的使用。而如果使用别名进行版本管理,您可以实现版本的平滑升级。如下图所示,将别名PROD指向稳定的版本1。客户端直接通过别名PROD调用版本1下的函数。

图 1. 发布版本1
version1

版本1发布后,您可以继续在LATEST版本上开发新功能。由于客户端是通过别名调用对应版本下的函数,当需要发布新版本2时,只需要将别名PROD更新为指向版本2,此时,客户端调用时解析出的版本即为版本2,这样就可以完成版本的更新迭代。您也可以更改别名的指向,将别名PROD重新指向版本1回滚到之前的版本。通过这种方式发布,不会影响客户端的使用。

图 2. 发布版本2
version2

前提条件

创建别名

  1. 登录函数计算控制台
  2. 在左侧导航栏,单击服务及函数
  3. 在顶部菜单栏,选择地域。
  4. 服务与函数页面,单击目标服务,然后在左侧导航栏,单击别名管理
  5. 别名管理页面,单击创建别名
    创建别名
  6. 在创建别名面板,填写别名的相关信息,单击确定
    创建别名

    参数说明如下。

    参数 操作 本文示例
    名称 填写自定义的别名名称。 alias
    描述 填写该别名的描述信息。
    主版本 选择比较稳定的主版本。 1
    启用灰度版本 若您需要将部分流量切到灰度版本,选择。否则,选择
    灰度版本 选择需要灰度发布的版本。当需要将部分流量切到灰度版本,该参数必选。 2
    灰度版本权重 填写灰度版本的权重,即需要将多少比率的流量切换到灰度版本。当需要将部分流量切到灰度版本,该参数必选。 5
    在目标服务的别名管理页面下,您可以看到刚创建的别名。本示例中该别名指向版本1,灰度版本为版本2,灰度版本权重为5%。result

查看别名

  1. 登录函数计算控制台
  2. 在左侧导航栏,单击服务及函数
  3. 在顶部菜单栏,选择地域。
  4. 服务与函数页面,单击目标服务,然后在左侧导航栏,单击别名管理
  5. 别名管理页面,查看已创建的别名。

更新别名

  1. 登录函数计算控制台
  2. 在左侧导航栏,单击服务及函数
  3. 在顶部菜单栏,选择地域。
  4. 服务与函数页面,单击目标服务,然后在左侧导航栏,单击别名管理
  5. 别名管理页面,找到需要修改的别名,在其右侧操作列单击编辑
    编辑别名
  6. 在编辑服务的别名面板,修改别名信息,然后单击确定
    参数 操作 本文示例
    名称 填写自定义的别名名称。 alias
    描述 填写该别名的描述信息。
    主版本 选择比较稳定的主版本。 1
    启用灰度版本 若您需要将部分流量切到灰度版本,选择。否则,选择
    灰度版本 选择需要灰度发布的版本。当需要将部分流量切到灰度版本,该参数必选。 2
    灰度版本权重 填写灰度版本的权重,即需要将多少比率的流量切换到灰度版本。当需要将部分流量切到灰度版本,该参数必选。 5

删除别名

说明 删除一个别名只会删除别名本身,并不会删除别名指向的版本,也不会删除指向此别名的触发器。
  1. 登录函数计算控制台
  2. 在左侧导航栏,单击服务及函数
  3. 在顶部菜单栏,选择地域。
  4. 服务与函数页面,单击目标服务,然后在左侧导航栏,单击别名管理
  5. 别名管理页面,找到需要删除的别名,在其右侧操作列单击删除
    删除别名
  6. 在弹出的确认对话框,阅读提示信息,然后单击删除

更多信息

除了通过控制台,您还可以使用Serverless Devs为服务配置别名。更多操作,请参见YAML文件的使用指南非YAML文件的使用指南