Windows Azure可以在负载变化时动态扩展应用程序吗?

sha*_*oth 8 windows load-balancing azure

从我在Windows Azure材料中看到的有关如何部署应用程序的内容(例如,本实验),必须在部署其应用程序时选择"角色大小"和角色实例数.

这看起来很酷 - 如果对应用程序的请求数量突然增加会发生什么?

是否可以以这样的方式部署应用程序:在高负载情况下生成其他角色实例,然后在负载变低时终止?

Dav*_*gon 8

自动扩展现在不是内置服务,但有第三方工具提供此服务,例如Paraleap的AzureWatch.你也可以自己动手(这里是一个入门样本),但我不会在开始时推荐它,因为有很多事情需要考虑,例如:

  • 了解Windows Azure计费的工作原理以及每小时计时器的结束时间
  • 了解加速时间以及何时考虑缩减,而不会导致服务器弹跳上/下

此外,要进行自己的扩展,您需要将该代码放在本地或您的一个角色中(最好是自己的"经理"角色).如果在某个角色中,您必须确保管理代码仅在一个实例中运行(使用某种类型的blob-lock信号量或类似的东西) - 否则您将面临双重缩放的风险.

我会认真看看AzureWatch开始:每小时每个实例只需一分钱,你就可以快速启动并运行.


Stu*_*art 6

Azure中没有提供此功能 - 但Microsoft可能会在将来添加一些内容.

有很多样本可以告诉你如何自己实现 - 例如参见http://blogs.msdn.com/b/publicsector/archive/2011/02/18/dynamically-scale-your-windows-azure -service-instances.aspx


作为对此的更新 - Scott Gu本周在伦敦发表演讲(2011年6月),他建议自动缩放是微软积极致力于并将在不久的将来提供的东西.显然目前没有日期 - 也没有保证!