【问题标题】:Can you run a standard Website and a Cloud Service on a single VM in Azure能否在 Azure 中的单个 VM 上运行标准网站和云服务
【发布时间】:2014-01-23 10:30:55
【问题描述】:

您能否在 Azure 中的单个 VM 上运行 standard WebsiteCloud Service?我正在尝试确定是否可以在单个大型 VM 实例中运行一个具有辅助角色的网站来处理后台作业。

注意:选择Large主要是为了网站的RAM需求,后台服务应该是相当轻量级的。

编辑:如果它们不能在同一个虚拟机上运行,​​那么拥有 Web 角色和辅助角色是下一个最佳选择吗?这需要我管理虚拟机吗?

【问题讨论】:

    标签: azure azure-configuration


    【解决方案1】:

    不,Windows Azure 网站不与云服务共存;但是,您当然可以运行一个云服务 Web 角色,该角色在后台启动其他事情。您可以通过在网站包中包含您希望执行的代码,然后通过角色入口点的 OnStart 中的 ProcessStart 将其启动,或者您可以使用启动任务启动它 (http://msdn.microsoft.com/en-us/library/windowsazure/hh127476.aspx )。

    您为什么选择大型来运行它?是因为后台工作需要更大的功率吗?如果是这样,您可以从小型和中型获得相同的成本,甚至两个小型的成本更低。不要忘记,如果您的“工作进程”是 CPU 密集型的,它可能会破坏机器并耗尽 Web 处理。

    我完全赞成在同一个虚拟机上托管多个进程,尤其是对于工作人员,但如果涉及到大量流量,我会怀疑这样做涉及网络角色。

    如果您不需要使用 PaaS 模型,另一种选择是使用新的 IaaS(Windows Azure 虚拟机)并在其上运行 IIS 和 Windows 服务作为后台工作程序;但是,这样做意味着您将拥有并且必须照顾 VM 以进行修补等。

    【讨论】:

    • Large主要是为了网站的RAM需求,后台服务应该比较轻量级。
    • Web 和辅助角色组合怎么样?
    • 正如我所提到的,您可以在 Web 角色的后台运行代码,这样您就可以启动您的后台进程,但它本身并不是一个 Worker 角色。请参阅我在启动任务中提供的链接。从技术上讲,工作人员角色也安装了 IIS,因此您可以在已定义的工作人员角色上编写启动任务来配置您的网站,但如果您确实需要结合使用 Web 角色并在后台运行工作流程,我建议您使用.您能否提供更多关于后台进程正在做什么的信息,看看合并是否有意义?
    • 这只是一项服务,它读取在数据库中排队的电子邮件,然后发送它们并将它们标记为已发送。未来可能会增加更多类似的工作。我想将它们分开,以便我可以单独扩展网站。我正在寻找一种轻量级的方法来运行后台任务,该方法可以以 PAAS 方式与网站结合使用。
    • 我不认为 Azure 提供的东西正是我所追求的。
    【解决方案2】:

    好消息..您现在可以这样做了!

    Introducing Windows Azure Web Jobs

    • Azure Web Jobs 使 Azure 网站的计划后台任务变得轻而易举。

    所以现在您可以拥有一个单一的 PaaS 网站和后台服务,甚至无需查看工人或角色!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      相关资源
      最近更新 更多