将 Web 角色部署到 Windows Azure 云时,负载平衡方面的默认行为是什么?有吗?
我提出问题的原因是,我们有流量管理器,您可以在其中指定负载平衡、故障转移和循环。但是,如果我不启用此功能,那么 Azure 如何在幕后工作?
关于 SLA 的默认建议始终是至少两个实例;但这两个实例服务请求还是只有一个?因此,默认行为是故障转移?
提前感谢您对此事的任何澄清,因为我在 Google 上没有成功找到它。
将 Web 角色部署到 Windows Azure 云时,负载平衡方面的默认行为是什么?有吗?
我提出问题的原因是,我们有流量管理器,您可以在其中指定负载平衡、故障转移和循环。但是,如果我不启用此功能,那么 Azure 如何在幕后工作?
关于 SLA 的默认建议始终是至少两个实例;但这两个实例服务请求还是只有一个?因此,默认行为是故障转移?
提前感谢您对此事的任何澄清,因为我在 Google 上没有成功找到它。
默认值应该是循环,但并不总是 100% 保证。
可以肯定的一件事是,它不是故障转移负载平衡。这个想法是,您的所有实例都被同等加载,但不能一直 100% 保证。
更新
这个世界上没有什么是 100% 保证的 :) 甚至计算实例的 SLA 是 99.95% 而不是 100%。流量管理器与多实例部署无关。流量管理器仅在您跨地理区域进行部署时发生。
自从 2008 年第一个公共 CTP 以来,我一直在使用、探索、调整、开发、移植到 Windows Azure。我不记得我从哪里获得所有信息,但计算负载均衡器将使用循环或类似的算法(当然不是故障转移)将负载分散到您的实例中。更重要的是,如果我可以这么说,它是“无粘性的”。这意味着不能保证来自一个用户的请求会在下一次调用中命中同一个实例。
Windows Azure 上的一些资源(旧的和新的):
http://www.davidchappell.com/writing/white_papers/introducing_windows_azure_v1-chappell.pdf
此外,值得一提的是,在最新版本中,还有针对单实例角色的 SLA:http: //www.windowsazure.com/en-us/support/legal/sla/
此外,我们将监控您的所有个人角色实例,并保证 99.9% 的时间我们将检测到角色实例的进程何时未运行并启动纠正措施。
@astaykov 几乎涵盖了它。由于有关流量管理器和 100% SLA 的评论,我想对此进行扩展。
我从未听说过提供 100% SLA 的托管服务提供商。这意味着一切都不会出错:软件崩溃、操作系统更新、操作系统崩溃、硬件崩溃、网络中断、电源中断、DNS 中断……在某些时候某些事情会导致服务器(或虚拟机)在一段时间内不可用。
Windows Azure 为云服务、存储、SQL 数据库、SQL 报告、服务总线、访问控制、缓存和 CDN 提供服务级别协议 (SLA)(请参阅此处的所有 SLA 详细信息)。对于这个问题,云服务 SLA 是相关的,提供 99.95% 的可用性。
有时,给定的角色实例将不可用。你几乎可以向自己保证这一点。存在操作系统映像升级(客户操作系统和主机操作系统)、硬件故障等问题。此问题并非特定于 Windows Azure;任何云或托管服务都会出现这些类型的中断。
为了提高正常运行时间的可用性,应该部署多个实例。然后将实例跨故障域拆分,这意味着它们位于不同的硬件、不同的机架上,并且是隔离的,因此如果网络段或电源连接发生故障(想象服务器机架的网络面板短路),只有实例受到影响。负载均衡器将继续将流量分配给健康的实例(尽管容量会减少,直到替换实例上线)。
到流量管理器:这是一种跨地理区域分配流量的方法,用于故障转移或性能。在前一种情况下,您将在单独的数据中心中运行服务,这为您的应用程序提供了良好的“高可用性”故事(想象主数据中心由于某种原因离线)。在后一种情况下,当您的业务遍及全球时,您可以为客户提供更好的性能。