【问题标题】:Change load-balanced server for Azure web site?更改 Azure 网站的负载平衡服务器?
【发布时间】:2015-08-24 13:15:29
【问题描述】:

我有一个 ASP.NET Web 应用程序(不是 Web 角色)部署到正在负载平衡的 Azure。我正在使用 Redis 来处理共享的 Session 数据。

出于测试目的,我想提供一种触发页面加载以使用不同服务器的方法。目标是输出服务器的本地主机名(已经完成)并观察它的变化,同时观察会话数据保持不变。

如果这个“不同的服务器”只是意味着“再次解决负载平衡但消除我当前服务器的粘性”,我很好(即只有 66% 的机会通过我的 3 台服务器扩展获得新服务器) .如果这是客户端服务器端解决方案,我也很好。但是,我不希望它成为一个动手操作的基础架构解决方案(即,我希望避免需要在所有 3 台服务器中的每台上安装一个浏览器,然后将分发下降到 1 台服务器并观察两个浏览器无缝过渡到一个剩余的服务器)。我希望它由测试人员控制,并辅以开发人员创建的应用程序中的功能。

这样的事情可能吗?

【问题讨论】:

    标签: asp.net azure session-state azure-web-app-service


    【解决方案1】:

    “粘性”由Application Request Routing Affinity cookie (ARRAfinity) 控制。通过清除此 cookie,您可能会得到另一卷网络平衡器骰子。

    Here's a similar question

    附:远程识别网络场服务器的一种常用技术是将服务器主机名嵌入到主布局页面底部的 HTML 注释中。

    【讨论】:

    • 我看你是对的。读完这篇文章后,我提出了一些不正确的假设:azure.microsoft.com/blog/2014/10/30/… P.S.出于我的目的,我可以将服务器名称 smack dab 放在屏幕上,这样既方便又方便。我现在也将添加一个按钮!感谢您为我回答另一个 Azure 问题!! :-)
    • 或者更好的是,既然我知道要搜索什么,我会做这样的事情:<system.webServer><httpProtocol><customHeaders><add name="ARR-Disable-Session-Affinity" value="true"/></customHeaders></httpProtocol></system.webServer>
    • 也可以根据经过身份验证的用户有条件地做到这一点
    • 这也是个好主意。既然您已经指出了要使用的 cookie,我现在有很多选项可以轻松解决这个问题。谢谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 2019-07-17
    • 2013-10-23
    相关资源
    最近更新 更多