同一应用服务上的多个 Web 作业或多个应用服务上的单个 Web 作业?

Multiple web jobs on same App Service or single Web Job on multiple app services?

我需要为我当前的项目部署多个网络作业。但是,其中 none 会占用太多资源,因此我将使用相同的应用程序服务计划。我想在

之间做出决定
  1. 为每个 Web 作业创建单独的应用服务并将它们全部部署到同一个应用服务计划中
  2. 创建单个应用程序服务,并将 Web 作业的多个实例部署到同一个应用程序服务中,使用不同的 Web 作业名称以使其唯一

我知道这个答案可能基于不同的意见,但我希望您能分享一些要考虑的事情。例如,#1 的一个优点是我可以更轻松地在该选项中单独部署每个 Web 作业。还有其他我应该考虑的事情吗?

谢谢!

@Snooks,Web 应用程序旨在 运行 多个 Web 作业,并且没有平台限制(尽管可能存在实际限制,具体取决于您的 Web 作业正在做什么)。我的建议是从管理的角度来看路线 1。这将使浏览门户等时的生活更轻松。

第三个要考虑的选项是 Azure Functions(无服务器)。虽然许多客户创建不托管任何网站的应用程序服务只是为了用于 Web 作业功能,但最初的目的是让应用程序服务服务为网站提供服务,然后还通过 Web 作业具有自动化功能。

自从网络作业变得如此流行以来,Azure Functions 的诞生是为了在 task/job 自动化(以及更多)方面提供更专注的产品,同时 运行 在无服务器平台上运行。这意味着您只需为消费的东西付费,而使用网络应用程序,无论消费多少,您每个月都需要支付固定费用。

如果您的要求声明您必须走 Web 作业路线,我当然会选择路线 1,以避免必须管理多个应用程序。如果您愿意,我认为值得研究一下 Azure Functions,看看它是否满足您的需求。