我希望在我们的应用服务计划扩展时限制特定网络营销的实例数量。
虽然我知道有singleton instance的可能性,如果我们想要将实例数量限制在 n n 是一个大于1但小于应用服务计划中总实例数的数字。例如,我们的应用服务计划可以扩展为运行4个实例,但只允许最多2个实例运行给定的webjob。
我(当然)知道我们可能只有2个不同扩展规则的应用服务计划,但我真的只想在可能的情况下在现有计划中处理这个问题。
背景:
我们在应用服务计划中运行的webapps和webjobs设置为在CPU使用率增加到某个阈值以上时自动扩展。
我们的网络工作有'背景'处理任务特别时间敏感,但可能非常密集cpu。如果队列中有很多消息,这些webjobs几乎可以消耗所有可用的cpu资源,并导致大规模的横向扩展。如果我们使用单例webjob,那么扩展只会在高峰时间添加一个额外的实例,其他所有内容仍然保持响应。这可能是好的,因为webjobs花了太长时间才能清除队列。我们真的希望能够更好地平衡这一点,以允许运行webjobs的几个实例允许稍微更快的处理时间,但避免将cpu密集型webjob添加到第3个实例。
答案 0 :(得分:2)
Azure Web App支持每个应用扩展。但它仅适用于Premium SKU App Service计划。每个应用扩展可以独立于托管它的App Service计划扩展应用。这样,App Service计划可以扩展到10个实例,但应用程序可以设置为仅使用5个。
对于您的问题,您可以创建一个新的Web应用程序来托管您的WebJob。
有关如何使用每个应用扩展,下面的链接供您参考。