在应用服务中路由流量

已完成

默认情况下,对应用生产 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。

让用户选择加入 beta 应用,将相同的查询参数设置为非生产槽的名称。 下面是一个示例:

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

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