Простой рекламный сервер

Я нахожусь в середине проекта, в котором мы создали бэкэнд для обработки рекламных кампаний в Grails, и я пытаюсь придумать лучший способ создать часть сервера объявлений. То есть часть, которая будет показывать фактическую рекламу конечным пользователям (браузерам).

В моих последних трех проектах я использовал Grails, который мне очень понравился благодаря его быстрой разработке и хорошей поддержке со стороны Сообщество Java через Spring и Hibernate. Однако у Grails все еще есть проблемы с производительностью, и я не уверен, что это правильный выбор для этой задачи. Я искал другие альтернативы, но не могу решить, какой путь мне выбрать. Сервер должен быть способен обрабатывать около пары тысяч запросов в секунду, а также должен быть надежным. Структура БД выглядит следующим образом (упрощенно):

Ad ==> site, position, percent of view (percent of time the ad is shown)

Таким образом, сервер объявлений должен получить необходимые строки из БД для конкретного сайта и позиции и выбрать, какое объявление отображать (в зависимости от процента).

Ниже представлены различные варианты, которые я рассматриваю (все они должны иметь несколько экземпляров и использовать балансировщик нагрузки).

  • Grails вместе с Redis и MongoDB - я не нашел отчетов о выступлении с этим трио. В моем в предыдущих проектах мы обнаружили, что Grails обладает большой производительностью проблемы, многие из них мы рассмотрели по-разному, но для рекламы Сервер, я не уверен, что подойдет.
  • Node.js вместе с парой "ключ-значение" store - Node.js якобы очень быстро, но было бы немного рискованно реализовать его на данном этапе, так как он еще не стабилизировалась.
  • Ruby on Rails вместе с хранилище "ключ-значение" - ничего не было Ruby on Rails еще разрабатывается, но из того, что я могу извлечь из поискать в Google, Ruby on Rails намного лучшая производительность, чем Grails.
  • PHP с хранилищем "ключ-значение" - нет выполнял любое PHP-программирование, но есть много крупных сайтов, использующих PHP с хорошей производительностью, поэтому следует считать хорошим альтернатива.

Любые предложения или рекомендации тепло приветствуются.

5
задан Mr.B 9 June 2011 в 17:21
поделиться