Нет 100% пуленепробиваемого решения, проблема отслеживается здесь .
Наилучшим способом может быть установка WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
на 1
в настройках приложения-приложения-функции, которое запускается совокупной очередью. Затем вы должны получить только один параллельный экземпляр приложения-функции, поэтому настройка batchSize
будет полезна для ограничения скорости.
В этом случае вам не нужно ограничивать процессоры очереди X / Y / Z, пусть сообщения поступают в агрегат.
Теперь я не понял, касаются ли только сообщения из очереди X SFPT X, или это многие ко многим. Если это один на один, имеет смысл избавиться от совокупной очереди, иметь три функции и ограничить параллелизм для каждой из очередей в отдельности.
В любом случае, настройки лимита соответствуют указанным выше.
Если это не отвечает вашим требованиям, вы можете переключиться на другую службу обмена сообщениями. Например, отправьте все сообщения одного типа в отдельный сеанс служебной шины или отдельный раздел концентратора событий, что, естественно, ограничит параллелизм на уровне посредника.