【问题标题】:Azure webjob vs cloud serviceAzure 网络作业与云服务
【发布时间】:2014-11-07 21:30:50
【问题描述】:

WebJob 和云服务有什么区别?我试图对两者进行概述,根据定义,它们似乎能够实现相同的目标?也许云服务有更多的功能?

【问题讨论】:

标签: azure


【解决方案1】:

云服务(Web/Worker 角色)将为您提供完整的虚拟机 (VM)。由于您想将 WebJobs 与云服务进行比较,我假设您对 Worker Role 感兴趣。通常,您会希望使用 Worker Role 来处理后台任务。您也可以对 WebJobs 执行相同的操作。据我了解,以下是一些主要区别:

  • WebJobs 仅用于一个目的,即处理作业。您也可以通过 Worker Role 执行相同的操作,但由于您获得的是完整的 VM,因此您可以使用它做更多的事情(例如,托管 node.js 服务器)。
  • 如果您的目标是运行预定的作业,WebJobs 让您非常轻松。您基本上采用控制台应用程序,将其部署为 WebJob,然后通过门户进行作业调度。有了 WorkerRole,事情就没有那么简单了。本质上,您将负责调度作业,您可以通过内置的 .Net 库(System.Timer 等)或使用 Quartz.net 等第三方调度库来完成。
  • 如果您的应用程序依赖于您需要安装的某些应用程序,则无法通过 WebJobs 来完成。但是,您可以通过启动任务在 Worker Role 中安装其他软件。
  • 我猜最后他们俩都是PaaS 产品,但我认为 WebJobs 是真正的 PaaS 产品,因为您刚刚完成任务,平台负责安排和执行该任务。

【讨论】:

  • 所以我可以通过 WebJob 访问我的数据库并运行查询吗?我们的移动服务有一个查询,但我正在考虑将其移至 WebJob(因为它唯一的作用是数据库工作并运行通知)。也许我无法在 WebJob 中触发推送通知?
  • So I could with a WebJob access my database and run queries - 是的。 Maybe I can't trigger push notification in WebJob? - 我不知道,因为我没试过。 HTH。
最近更新 更多