【问题标题】:How to run very expensive jobs and maintain availability如何运行非常昂贵的作业并保持可用性
【发布时间】:2014-05-09 18:57:53
【问题描述】:

我有一个场景,单个客户端请求可能导致服务器端消耗最多一分钟的 CPU 时间。有什么方法可以确保资源可用于扩展?我基本上是在问是否有办法从代码中调用一个新的角色实例,并给它一些工作。这在 Azure 中可行吗?还是其他云平台?

【问题讨论】:

  • 这是一个很模糊的问题,你应该问具体的问题。听起来您需要查看 Azure 服务总线,它是一个消息队列系统,可以处理进程外的作业。再次,虽然这个问题太模糊了。您需要告诉我们更多关于请求和供应代码等的信息
  • 我很清楚我在问什么。你想要什么样的澄清?
  • 我建议阅读 MSDN 上的 Cloud Design Patterns 指南 - msdn.microsoft.com/en-us/library/dn568099.aspx。这当然应该给你一些指导。
  • 对不起。我所说的清晰度是请求实际在做什么。它只是加载视图或处理某种报告还是什么?您的问题的答案取决于此。用户需要立即看到请求的结果还是可以在后台处理?
  • 基于请求如果扩展完成,扩展可能是不可控的,扩展硬件也不是你的业务逻辑......你的扩展可以基于请求数或CPU或内存来完成,不管到期对什么业务逻辑有资源需求。你看过 azure 的自动缩放功能吗?

标签: c# asp.net-mvc azure amazon-web-services scalability


【解决方案1】:

您可以使用 AutoScale 应用程序块根据特定条件动态扩展您的云服务。

http://msdn.microsoft.com/en-us/library/hh680892(v=pandp.50).aspx

但是,我建议不要使用代码从业务逻辑扩展您的服务。 (请参阅我的 cmets 问题)

如果您需要对您的服务进行更多监控,可以使用付费的 Azure 插件。但我想说 Autoscale 应用程序块可能会解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 2018-06-05
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多