У меня есть задача, которая предоставляет большие сложные отчеты PDF, содержащие сложные диаграммы, изображения SVG, таблицы и другие данные. Обработка 1 запроса занимает до 10 минут. Иногда нам приходится обрабатывать сотни таких запросов в ограниченном диапазоне времени. Сетевое приложение, которое выполняет эту работу, в настоящее время размещается на одной машине. Служба полностью без гражданства. Параллелизм на 1 машине почти не имеет эффекта, поэтому мы ищем способы масштабировать его по горизонтали.Масштабирование задач с интенсивным использованием ресурсов в .NET-приложении, размещенном в AWS
Я использую AWS для размещения наших услуг. В настоящее время я думаю о включении экземпляра EC2 с этой службой в группу ручного или автоматического масштабирования с возможностью запуска необходимого количества экземпляров. Также я думаю о добавлении очереди, которая будет нести все запросы. Чтобы все экземпляры работали с одной очередью, каждый экземпляр обрабатывал бы собственный запрос (обработка запроса = рендеринг 1 PDF-отчета).
Не могли бы вы порекомендовать некоторые из готовых способов/лучших практик по масштабированию интенсивной работы ЦП для приложений без учета состояния .NET с использованием AWS.
Спасибо заранее!