Ограничить количество экземпляров Azure Function Apps v2 - PullRequest
0 голосов
/ 14 мая 2019

Мне нужно иметь только один экземпляр приложения-функции Azure и поместить следующий код json в host.json.

Но когда функция запускается servicebus queue, я ясно вижу в Live Metrics Stream в Application Insights, что несколько серверов подготовлены для обслуживания нагрузки.Чего мне не хватает, чтобы ограничить количество работающих серверов только одним?

{
  "version": "2.0",
  "WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT": 1,
  "maxConcurrentCalls": 2,
  "extensions": {
        "serviceBus": {
            "prefetchCount": 1,
            "messageHandlerOptions": {
                "maxConcurrentCalls": 2
            }
        }
    }
}

Ответы [ 2 ]

4 голосов
/ 14 мая 2019

Почему вы хотите это сделать? Помните, что каждый экземпляр может обрабатывать несколько сообщений одновременно, поэтому 1 экземпляр не означает одно сообщение одновременно

В любом случае, вы можете зайти в настройки своего приложения и добавить следующее: WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT = 1

Azure Functions settings

1 голос
/ 14 мая 2019

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT - это настройка приложения, а не host.json. Я также хотел бы отметить, что она несколько менее чем на 100% надежна, поэтому, если вам нужна жесткая гарантия только на 1 экземпляр, вам следует использовать либо план Premium, либо стандартный план обслуживания приложений, а не план потребления.

...