Предыстория: я запускаю веб-службу, в которой каждый запрос требует большого количества вычислений (до 10 секунд на четырехъядерном компьютере).
Каждый запрос можно разбить примерно на 150 независимых (и одинаково маленьких) подзадач.
Что мне нужно: я ищу услугу хостинга, которая позволит мне эффективно обслуживать такого рода запросы в масштабируемой манере.
Что я подумал: я изучил Google App Engine и Rackspace.
Мне кажется, что GAE предназначен для простых запросов, требующих небольших ресурсов для обработки. Проблема с чем-то вроде Rackspace заключается в том, что я не могу заранее сказать, сколько vCPU мне может понадобиться (и даже если бы я знал, насколько большими будут всплески в будущем, я не хочу сидеть, скажем, с 40 серверами, простаивающими остальные). время)
Вопросы:
Можно ли использовать GAE следующим образом:
Для каждого запроса разбейте его на 150 подзадач.
Обрабатывайте все подзадачи независимо, выполняя 150 одновременных HTTP-запросов к одному и тому же веб-приложению (но другим методом).
Соберите результаты из «подрезультатов» и верните ответ на исходный запрос.
Есть ли вероятность, что Map Reduce для GAE может помочь?
Есть ли какой-либо другой сервис, который лучше подходит для этой задачи?