应用服务中路由流量
默认情况下,对应用生产 URL(http://<app_name>.azurewebsites.net
)的所有客户端请求都路由到生产槽。 可以将部分流量路由到另一个槽。 如果需要新更新的用户反馈,但尚未准备好将其发布到生产环境,此功能非常有用。
自动路由生产流量
自动将生产流量进行路由:
转到应用的资源页,选择 部署插槽。
在要路由到的槽的 流量 % 列中,指定要路由的总流量的百分比(介于 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,不会自动将其路由到插槽。 这是一种高级场景,您可以在允许内部团队测试变更的同时,将您的预演槽位对公众“隐藏”。