5

我希望能够配置 Azure 负载均衡器模拟器,这样对 Web 应用程序的两次连续调用将始终导致对不同实例的调用。

我怎么能做到这一点?如何验证负载均衡器是否按预期工作?使用 HttpContext.Current.Request.Url 并查看端点端口是否更改?

提前致谢

4

1 回答 1

9

可用于您的 Windows Azure Web 和 Worker 角色的默认负载均衡器是软件负载均衡器,并没有太多可配置性,但它们可以在循环设置中工作。如果您想测试此行为,您需要执行以下操作:

  1. 创建启用 RDP 访问的服务的两个(或更多)实例,以便您可以 RDP 到这两个实例
  2. RDP 到您的两个实例并在其中运行 NETMON 或任何网络监视器解决方案。
  3. 现在从您的桌面访问您的 Windows Azure Web 应用程序
  4. 您需要了解,当从您的桌面建立网络连接时,根据网络设置(默认 60 秒),连接仍然有效,因此您需要等到通过默认超时才能再次访问您的 Windows Azure Web 应用程序。
  5. 当您将再次访问您的 Windows Azure Web 应用程序时,您可以验证请求到达下一个实例的时间。请务必通过连接超时,否则您的请求将由同一实例处理。

注意:如果您不想使用 RDP,您当然也可以创建一个测试 ASP.NET 页面来根据您的特定实例编写一些特殊代码,这将显示该页面特定于某个实例。最好的方法是读取实例 ID,如下所示:

int instanceID = RoleEnvironment.CurrentRoleInstance.Id;

如果您想更好地控制 Windows Azure 负载平衡,我建议您使用 Windows Azure 流量管理器,它可以帮助您通过循环、性能或基于备份的方案将流量路由到您的站点。更多关于使用 Traffis Manager 的信息在这篇文章中

于 2012-05-19T17:03:18.997 回答