В настоящее время я использую веб-задания Azure для обработки запросов из очереди Azure.В день одна веб-работа может обработать до 5000 сообщений из очереди.Каждое сообщение обрабатывается в течение максимум 20 секунд .Веб-работа продолжает прослушивать очередь для нового сообщения.По прибытии выбирает сообщение и обрабатывает его.
Я читал о функциональных приложениях, и поскольку они поддерживают автоматическое масштабирование и более приемлемые цены, я хочу выбрать их, но в настоящее время не могу принять правильное решениео том, заниматься ли им.
Моя главная проблема - это эффект рабочей нагрузки.Если приложение с триггерной функцией очереди все еще обрабатывает сообщение в течение 20 секунд, и другие 50 сообщений отбрасываются в очередь, поскольку оно все еще обрабатывает первое сообщение.Будет ли он ждать завершения первого сообщения, прежде чем переходить ко второму сообщению, или он создаст другой узел / экземпляр того же функционального приложения для обработки второго сообщения и третьего .... 50-го сообщения?
Если оносоздает несколько экземпляров приложения функции, имеют ли эти вновь созданные экземпляры максимальное количество ресурсов, которое они могут использовать, например, максимум 6 процессоров и 5 ГБ ОЗУ, или они масштабируются до доступных ресурсов в облаке?