Windows Azure有没有办法动态弹性?如果我的工人开始超负荷,或者队列开始变得过于饱满,或者太多的工人没有工作要做,是否有一种方法可以通过代码动态添加或删除工人,或者只是手动完成(需要人为干预)现在?有人知道是否有任何计划,如果目前尚不可用?

有帮助吗?

解决方案

有一个服务管理API,您可以使用它来扩展应用程序(从Windows Azure中运行的代码或Windows Azure之外运行的代码)。

http://msdn.microsoft.com/en-us/library/ee460799.aspxhttp://code.msdn.microsoft.com/release/projectRelealeases.aspx?projectName = windowsazuresamples&releaseid = 3233.

其他提示

微软 发货自动申请块 (芥末)提供动态缩放。一些支持的场景:

  1. 通过动态更改实例计数或执行应用程序节流,可以自动在Windows Azure中自动化Web和Worker角色。
  2. 根据时间表自动自动化Windows Azure角色。
  3. 根据从应用程序和/或Windows Azure收集的指标自动化Windows Azure角色,但在每个角色的实例计数上受到上和下限的约束。
  4. 防止稳定器的角色实例数量快速振荡。稳定器还可以通过将扩展操作扩展到小时开始,并将操作缩小到小时结束,从而有助于优化成本。
  5. 监视和记录自动化活动。
  6. 发送通知以预览任何扩展操作,然后再进行。
  7. 在Windows Azure Blob存储或本地文件存储中加密规则和其他配置。
  8. 通过使用Windows PowerShell来管理自动计算机配置。

综合样本应用程序(Tailspin调查)展示所有这些功能都提供了(安装说明可用 这里)。另外,查看 开发人员指南 和频道9 视频演练.

该块可作为独立下载 二进制, 来源 或通过 nuget.

以下是几个演讲/演示,显示了芥末的行动:

Windows Azure刚刚添加了平台内置的自动化功能。现在,在管理门户网站中直接配置您的自动升级规则在很容易中很容易:Configuring autoscaling based on CPU utilization in Windows Azure

看到 公告演示. 。我也写了 邮政 将Windows Azure Autoscale与Wasabi进行比较,并概述了前进的路径。

  1. 创建一个名称的队列 autoscale.[your_role_name].instance_count
  2. 在管理门户网站中,将AutoScale设置为 Queue.
  3. 将目标计数字段设置为 1.

现在,您可以在该队列上使用标准的临界和Dequeue操作来控制工人角色实例的数量。您已经有7天的时间来处理消息到期,因此您可能需要创建一个工人角色,以确保队列中的消息数正在跟踪您的目标实例计数。

如果您正在采用动态弹性,那么您可能已经牢记了基于工具的控制器,因此这可能不是问题。

lokad.cloud Windows Azure的开源项目包含分布式执行器框架。它提供的 具有VM Provisioning功能的自动缩放功能.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top