Windows Azure 和动态弹性
有没有办法在 Windows Azure 中实现动态弹性?如果我的工作人员开始超载,或者队列开始变得太满,或者太多工作人员没有工作可做,是否有一种方法可以通过代码动态添加或删除工作人员,或者只是手动完成(需要人工干预)现在?如果目前不可用,有谁知道有任何添加计划吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
Microsoft 发布自动缩放应用程序块 (Wasabi) 提供动态缩放。一些支持的方案:
综合示例应用程序 (Tailspin 调查)提供了展示所有这些功能的功能(安装说明可在 此处)。另外,请查看开发人员指南和Channel9 视频演练。
该块可作为二进制文件的独立下载,源 或通过 NuGet。
以下是一些演示 Wasabi 实际应用的演讲/演示:
关于自动缩放的 CloudCover 片段
p&p 研讨会演讲“Windows Azure 应用程序根据需要进行缩放”< /p>
Microsoft shipped the Autoscaling Application Block (Wasabi) to provide dynamic scaling. Some of the supported scenarios:
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:
CloudCover Episode on autoscaling
p&p symposium talk "Windows Azure app scaling to need"
有一个服务管理 API,您可以使用它来扩展您的应用程序(从 Windows Azure 中运行的代码或在 Windows Azure 外部运行的代码)。
http://msdn.microsoft.com/en-us/library/ee460799。 aspx 和 http://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.
Windows Azure 刚刚添加了平台内置的自动缩放功能。现在,在管理门户中配置自动缩放规则非常简单:
请参阅 公告 和 演示。我还写了 帖子将 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:
See the announcement and the demo. I've also written a post comparing Windows Azure Autoscale to Wasabi and outlining the path forward.
autoscale.[your_role_name].instance_count
的队列Queue
。1
。现在,您可以在该队列上使用标准入队和出队操作来控制辅助角色实例的数量。在消息过期之前,您有 7 天的时间来处理消息,因此您可能需要创建一个辅助角色,以确保队列中的消息数量跟踪您的目标实例计数。
如果您追求动态弹性,您可能已经想到了基于工作者角色的控制器,所以这可能不是问题。
autoscale.[your_role_name].instance_count
Queue
.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.
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.