应用服务中路由流量

已完成

默认情况下,对应用生产 URL(http://<app_name>.azurewebsites.net)的所有客户端请求都路由到生产槽。 可以将部分流量路由到另一个槽。 如果需要新更新的用户反馈,但尚未准备好将其发布到生产环境,此功能非常有用。

自动路由生产流量

自动将生产流量进行路由:

  1. 转到应用的资源页,选择 部署插槽

  2. 在要路由到的槽的 流量 % 列中,指定要路由的总流量的百分比(介于 0 到 100 之间)。 选择 保存

保存设置后,指定的客户端百分比将随机路由到非生产槽。

在客户端被自动路由到一个特定槽后,该客户端会在整个会话期间被“固定”在该槽上。 在客户端浏览器中,您可以查看 HTTP 头部中的 x-ms-routing-name cookie 来确定您的会话固定到哪个槽位。 被路由到“暂存阶段”的请求具有 cookie x-ms-routing-name=staging。 路由到生产槽的请求具有 cookie x-ms-routing-name=self

手动路由生产流量

除了自动流量路由之外,应用服务还可以将请求路由到特定槽位。 如果希望用户能够选择加入或选择退出 beta 应用,这非常有用。 若要手动路由生产流量,请使用 x-ms-routing-name 查询参数。

例如,若要让用户选择退出 beta 应用,可以将此链接放在网页上:

<a href="<webappname>.azurewebsites.net/?x-ms-routing-name=self">Go back to production app</a>

字符串 x-ms-routing-name=self 指定生产线槽位。 客户端浏览器访问链接后,会重定向到生产槽。 每个后续请求都会包含一个将会话绑定到生产环境的 x-ms-routing-name=self cookie。

若要让用户加入测试版应用,请将相同的查询参数设为非生产槽位的名称。 下面是一个示例:

<webappname>.azurewebsites.net/?x-ms-routing-name=staging

默认情况下,为新槽提供 0%路由规则,默认值显示为灰色。 将路由规则的值显式设置为 0% 时将显示为黑色,用户可以使用 x-ms-routing-name 查询参数手动访问暂存槽。 但是,由于路由百分比设置为 0,不会自动将其路由到插槽。 这是一种高级场景,您可以在允许内部团队测试变更的同时,将您的预演槽位对公众“隐藏”。