Сервлеты Mahout для каждой модели данных - PullRequest
0 голосов
/ 27 сентября 2011

Я внедряю механизм рекомендаций пользователя Mahout, в котором рекомендации будут обслуживаться через RecommenderServlet, запущенный в Tomcat.

Пока выглядит как базовая установка, но у нее есть некоторые дополнительные свойства:

  1. Рекомендации будут обслуживаться от 100 различных моделей данных, в зависимости от контекста пользователя.Каждая модель данных имеет размер ~ 2 МБ.

  2. Может быть несколько тысяч одновременно работающих пользователей, запрашивающих рекомендации в определенный момент времени.

Один вариант, который я рассмотрелнастраивает один RecommenderServlet на модель данных.Таким образом, будет 100 из них, распределенных между несколькими экземплярами Tomcat.

Основной вопрос для экспертов Mahout:

Вы бы порекомендовали установить один RecommenderServlet для данныхмодель, или есть лучшие альтернативы?

1 Ответ

0 голосов
/ 27 сентября 2011

Я не думаю, что этот выбор действительно имеет значение для проблем производительности, которые вы упоминаете.

Это больше о том, что логичнее для вас. Сервлет обычно предоставляет один логический сервис и отвечает на один «тип» запроса - для страницы или метода. Теоретически, вы можете сделать так, чтобы один сервлет обслуживал все на вашем сайте, но это было бы уродливо, с точки зрения дизайна.

Мое правило: использовать разные сервлеты для разных URL-путей.

Это не изменит требований к памяти или производительности. В любом случае вы обслуживаете эти запросы из этих данных в памяти.

Теперь вы могли бы посвятить целые экземпляры Tomcat обслуживанию только подмножества этих 100 моделей. Но тогда вы действительно запускаете разные веб-приложения на разных серверах. Это уже не вопрос 1 или 100 сервлетов, а больший выбор разделения вашей архитектуры.

...