2

尝试迁移到 Windows Azure。我们内置了一大堆自定义和分片代码,因此我们认为使用 VM 角色会是一个更好的主意——我的假设是我们可以将它作为常规服务器进行管理并将我们的应用程序部署到它上面。该数据库已经在 SQL Azure 上。

问题 - 在我们当前的非 Azure 设置中,我们有两个带有负载均衡器的 Web 服务器框。我记得读过一些关于 Web 角色以及 Azure 如何在实例(Web 或辅助角色)之间进行负载平衡的内容。Azure 是否支持两个 VM 角色之间的负载平衡?

更重要的是,如果我们使用工作者角色,性能会更好(因为代码似乎与 Azure 更紧密地集成)。如果有人能指出我正确的方向,那就太好了。非常感谢。

4

1 回答 1

3

负载均衡器在您的角色实例(无论是 Web、Worker 还是 VM)之间分配流量。最终用户(或系统)只需通过 protocol://ip:port 联系您的服务。例如,如果您在 VM 角色上托管端口 8000,并拥有该角色的 4 个实例,您将看到流量分布在所有 4 个实例中(与 Web 角色没有什么不同)。

Worker Role 和 VM Role 之间的性能应该没有什么不同。不同之处在于客户操作系统本身的维护。如果您可以使用 Worker 角色而不是 VM 角色,那么在更新方面您的生活会变得更轻松(并且无需将大型多 GB 映像推送到云中)。您需要使用 VM 角色的原因确实有 3 个:

  • 无法自动安装所需的应用程序(例如,您需要运行的任何 MSI、注册表更新等)
  • 您可以自动安装,但需要的时间太长(例如超过 5-10 分钟)
  • 您可以自动安装,并及时完成,但它根本不是一个可靠的安装(例如,某些组件在安装过程中偶尔会失败,导致角色回收和重复安装尝试)
于 2011-10-22T21:53:25.853 回答