Windows Azure 和动态弹性

发布于 2024-09-02 07:57:17 字数 140 浏览 8 评论 0 原文

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

Is there a way do do dynamic elasticity in Windows Azure? If my workers begin to get overloaded, or queues start to get too full, or too many workers have no work to do, is there a way to dynamically add or remove workers through code or is that just done manually (requires human intervention) right now? Does anyone know of any plans to add that if its not currently available?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

季末如歌 2024-09-09 07:57:17

Microsoft 发布自动缩放应用程序块 (Wasabi) 提供动态缩放。一些支持的方案:

  1. 通过动态更改实例计数或执行应用程序限制来自动缩放 Windows Azure 中的 Web 角色和辅助角色。
  2. 根据时间表自动缩放 Windows Azure 角色。
  3. 根据从应用程序和/或 Windows Azure 收集的指标自动缩放 Windows Azure 角色,但受每个角色实例计数上限和下限的约束。
  4. 使用稳定器防止角色实例数量快速波动。稳定器还可以通过将扩大运营规模限制为一小时开始并将缩减运营规模限制为一小时结束来帮助优化成本。
  5. 监视和记录自动缩放活动。
  6. 发送通知以在任何缩放操作发生之前对其进行预览。
  7. 加密 Windows Azure blob 存储或本地文件存储中的规则和其他配置。
  8. 使用 Windows PowerShell 管理自动缩放程序配置。

综合示例应用程序 (Tailspin 调查)提供了展示所有这些功能的功能(安装说明可在 此处)。另外,请查看开发人员指南和Channel9 视频演练

该块可作为二进制文件的独立下载, 或通过 NuGet

以下是一些演示 Wasabi 实际应用的演讲/演示:

Microsoft shipped the Autoscaling Application Block (Wasabi) to provide dynamic scaling. Some of the supported scenarios:

  1. Autoscaling both web and worker roles in Windows Azure by dynamically changing instance counts or performing application throttling.
  2. Autoscaling Windows Azure roles based on timetables.
  3. Autoscaling Windows Azure roles based on metrics collected from the application and/or Windows Azure but constrained by upper and lower bounds on the instance count per role.
  4. Preventing fast oscillations in the number of role instances with the stabilizer. The stabilizer can also help to optimize costs by limiting scaling up operations to the beginning of the hour and scaling down operations to the end of the hour.
  5. Monitoring and logging autoscaling activity.
  6. Sending notifications to preview any scaling operations before they take place.
  7. Encrypting the rules and other configuration in Windows Azure blob storage or in local file storage.
  8. Managing the autoscaler configuration by using Windows PowerShell.

A comprehensie sample application (Tailspin Surveys) showcasing all these features is provided (installation instructions are available here). Also, check out the Developer's Guide and the Channel9 video walkthrough.

The block is available as standalone download of binaries, source or via NuGet.

Here are a couple of talks/demos showing Wasabi in action:

﹉夏雨初晴づ 2024-09-09 07:57:17

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

http://msdn.microsoft.com/en-us/library/ee460799。 aspxhttp://code.aspx msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=windowsazuresamples&ReleaseId=3233

There's a Service Management API, and you can use that to scale your application (from code running in Windows Azure or from code running outside of Windows Azure).

http://msdn.microsoft.com/en-us/library/ee460799.aspx and http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=windowsazuresamples&ReleaseId=3233.

原野 2024-09-09 07:57:17

Windows Azure 刚刚添加了平台内置的自动缩放功能。现在,在管理门户中配置自动缩放规则非常简单:
根据 Windows Azure 中的 CPU 利用率配置自动缩放

请参阅 公告演示。我还写了 帖子将 Windows Azure Autoscale 与 Wasabi 进行比较并概述前进的道路。

Windows Azure has just added the autoscaling feature built into the platform. Now it's trivially easy to configure your autoscaling rules right in the management portal:
Configuring autoscaling based on CPU utilization in Windows Azure

See the announcement and the demo. I've also written a post comparing Windows Azure Autoscale to Wasabi and outlining the path forward.

世俗缘 2024-09-09 07:57:17
  1. 创建一个名为 autoscale.[your_role_name].instance_count 的队列
  2. 在管理门户中,将自动缩放设置为 Queue
  3. 将目标计数字段设置为 1

现在,您可以在该队列上使用标准入队和出队操作来控制辅助角色实例的数量。在消息过期之前,您有 7 天的时间来处理消息,因此您可能需要创建一个辅助角色,以确保队列中的消息数量跟踪您的目标实例计数。

如果您追求动态弹性,您可能已经想到了基于工作者角色的控制器,所以这可能不是问题。

  1. Create a queue named autoscale.[your_role_name].instance_count
  2. In the Management Portal, set the autoscale to Queue.
  3. Set the Target Count field to 1.

Now you can use standard enqueue and dequeue operations on that queue to control the number of worker role instances. You've got 7 days to process a message before it expires, so you might want to create a worker role that can ensure that the number of messages in the queue is tracking your target instance count.

If you're after dynamic elasticity, you've probably already got a worker-role-based controller in mind already, so that's probably not a problem.

仅此而已 2024-09-09 07:57:17

Lokad.Cloud Windows Azure 开源项目包含分布式执行器框架。除此之外,它还提供通过虚拟机配置功能进行自动扩展

Lokad.Cloud open source project for Windows Azure contains distributed executor framework. Among other things it provides auto-scaling with VM provisioning feature.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文