У меня есть приложение Rails, которое много кодирует мультимедиа. Я обрабатываю это с помощью фоновых процессов, но я вижу, что ЦП перегружается, и время загрузки внешнего интерфейса определенно медленнее, чем должно быть (или было до того, как внутренняя часть стала больше).
Итак, проблема: приложение Rails с функциями кодирования мультимедиа испытывает нагрузку на процессор, а интерфейс замедляется. Цель — разделить фронтенд и бэкэнд (кодирование мультимедиа).
Вопрос: как лучше всего разделить существующее приложение на две части (внешнюю часть и внутреннюю часть)?
1) Стоит ли запускать две копии приложения на двух серверах и совершать вызовы между ними, а затем отправлять/размещать информацию через HTTP (или подключаться к удаленной базе данных)?
2) Является ли хорошей идеей держать часть, интенсивно использующую процессор, в коде Rails, или я должен стремиться отделить ее от функциональности Rails?
Если кто-то может указать на хорошее руководство по запуску многосерверного приложения Rails, это было бы здорово (поиск возвращает вопросы о многосерверном развертывании Capistrano, но мне нужны менее конкретные рецепты).