【问题标题】:Load-Balancing Windows Azure Instances Locally本地负载平衡 Windows Azure 实例
【发布时间】:2013-03-18 12:06:52
【问题描述】:

在将多实例 WebRole 部署到 Windows Azure Emulator 时,模拟器正在运行 WebRole 的多个 IIS Express 实例,每个实例都在保留的本地 IP 上,例如:

 127.255.0.1
 127.255.0.2
 127.255.0.3

问题是我想访问 WebRole,就好像它真的部署在 Azure 上一样,我需要检查 Session State 在实例之间是否存在。

由于我的Session Id 存储在 cookie 上,每次我连接到不同的实例时,我都需要手动将 cookie “注入”到请求中以检查会话数据(因为浏览器会考虑下一个的 IP实例作为不同的域)。

有没有办法我可以使用hostname(在 Windows 7 机器上)将自己随机指向其中一个 IP?

【问题讨论】:

    标签: azure load-balancing azure-compute-emulator


    【解决方案1】:

    好吧,显然模拟器确实负载平衡实例之间的所有请求:

    点击云项目上的“调试”将打开一个网页,其 IP 为虚拟负载均衡器(通常为 127.0.0.1:80,如果尚未使用)。

    然而,首先有两件事误导了我:

    • 1. 多个 IIS Express 实例的列表,每个实例都有自己的绑定(附图片)。

    • 2. 隐式关联:

      我让我的 Web 应用程序输出实例 ID 并不断获取 始终相同的实例 ID。原因是(我猜) 模拟器强制执行的亲和力(可能使用 cookie 比较)。

    结论:

    如果您想手动进行负载平衡或自己控制亲和力,您可以利用IIS Server Farming 功能(就像我最终所做的那样)来模拟负载平衡。

    (Apache/Nginx 作为某种“反向代理”也是一个不错的选择,但我更愿意坚持使用已经安装和使用的产品)。

    【讨论】:

      猜你喜欢
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      相关资源
      最近更新 更多