масштабирующая документация для функций Azure немного освещает детали того, как Azure Functions решают, когда добавлять дополнительные экземпляры приложения.
Скажем, например, у меня есть функция, которая запускается веб-узлом Github. 10 000 человек одновременно берутся за репо Github (без конфликтов слияния;)), и Гитуб называет мою функцию 10 000 раз за очень короткий промежуток времени.
Что я могу ожидать? В частности,
- Функции Azure активируют вызовы webhook? то есть будут ли функции Azure отклонять некоторые вызовы функций, если приложение моей функции находится под большой нагрузкой?
- Функции Azure так или иначе очереди на запросы? Если да, то где/как?
- Сколько экземпляров моего функционального приложения будут создавать функции Azure в этом сценарии? Один для каждого запроса (т.е. 10000), и каждый из них будет работать параллельно?
- Если моя функция приложения была уменьшена до нулевых экземпляров, потому что на ней не было нагрузки, могу ли я ожидать некоторое "время разминки" до того, как будет выполнена первая функция? Примерно как долго?