2011-10-22 122 views
2

试图迁移到Windows Azure。我们有一大堆定制和分片代码,所以我们认为与虚拟机角色一起使用会是一个更好的主意 - 我的假设是我们可以将其作为普通服务器进行管理并将其部署到我们的应用程序上。数据库已经在SQL Azure上。Windows Azure虚拟机负载平衡

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

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

回答

3

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

工作者角色和虚拟机角色之间的性能不应该有任何不同。不同之处在于客户操作系统本身的维护。如果您可以使用工作者角色而不是VM角色,那么在更新时您就可以更轻松地工作(并且无需将大型多GB图像推送到云端)。有真的,为什么你会需要使用VM角色3个核心原因:

  • 没有办法自动安装所需的应用程序(如任何微星的需要运行,注册表更新等)
  • 你可以自动安装,但需要很长时间(例如大于5-10分钟)
  • 您可以自动安装,并及时完成安装,但它不是可靠的安装(例如,某些组件在安装过程中偶尔会失败,导致角色recylce和重复安装尝试)
+0

感谢您的答复。仍然在思考专用的服务器方式。对于天真的问题抱歉 - 所以如果我们选择使用Web角色并在端口80上部署UI层并拥有四个实例(获取新实例并部署相同的代码),它将自动实现负载平衡。我是否以正确的方式思考这个问题? – user529265

+1

是的,你正在考虑正确的方法,因为从3到4个实例的缩放只是将代码展开到第4个实例,而是自动获得负载均衡。但是:这个“专用服务器”的概念需要澄清:所有Azure虚拟机都是虚拟服务器,并且您需要假设在同一硬件上运行其他虚拟机(尤其是运行少于8个内核时)。 Web角色是Windows Server 2008虚拟机,就像虚拟机角色一样,但是在安装前需要在启动时运行安装。没有更多的操作系统维护。网络角色真的是要走的路。 –

+1

@ user529265 - 再提一点建议:安装平台培训工具包,并通过网站角色(第一个实验室和高级网络和工作者角色实验室)推出网站的练习。我认为这将真正为您澄清Web角色。 –