Azure函数应用能否覆盖专用App Service Plan的自动缩放规则?
关于Azure函数队列触发器FIFO及缩放配置的疑问
我有一个运行在**专用计划(Azure App Service Plan P1V2)**下的Azure Function App,其中包含一个针对Azure Storage Queues的Queue Trigger函数。我希望尽可能接近FIFO(先进先出)的处理顺序,虽然清楚Azure Storage Queues无法保证严格的FIFO,但官方文档提到Azure Storage Queues和Queue Trigger通常遵循先进先出原则。
我的host.json配置如下:
{ "version": "2.0", "extensions": { "queues": { "batchSize": 1, "maxDequeueCount": 10, "newBatchThreshold": 0 } } }
我已经设置应用配置项WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT = 1,原本期望它能在自动缩放场景下将VM数量限制为1,但有个疑问:
- 当函数应用运行在专用计划下时,此配置项是否无效?它仅适用于消耗计划和弹性高级计划吗?
(注:我提出此疑问是因为Microsoft.Web/sites的ARM模板中有一个名称类似的站点配置)
目前队列触发器确实是逐个执行的,高负载时段也没有多实例运行的迹象,但触发器仍未按消息插入顺序启动:我按特定顺序插入了3条消息,结果触发器先处理了消息3,再处理消息2(当时处于高负载,队列中还有其他消息)。
另外,我的App Service Plan设置了自动缩放规则:CPU使用率过高时触发缩放,允许最多10个实例,最少1个,默认1个。
请问:
- 能否通过Azure Function App层面的设置来覆盖App Service Plan层面的自动缩放规则?
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT = 1是否已经实现了这一功能?
内容的提问来源于stack exchange,提问作者mkcoding
相关产品推荐
相关产品推荐

