Я нахожусь в середине проекта, в котором мы создали бэкэнд для обработки рекламных кампаний в Grails, и я пытаюсь придумать лучший способ создать часть сервера объявлений. То есть часть, которая будет показывать фактическую рекламу конечным пользователям (браузерам).
В моих последних трех проектах я использовал Grails, который мне очень понравился благодаря его быстрой разработке и хорошей поддержке со стороны Сообщество Java через Spring и Hibernate. Однако у Grails все еще есть проблемы с производительностью, и я не уверен, что это правильный выбор для этой задачи. Я искал другие альтернативы, но не могу решить, какой путь мне выбрать. Сервер должен быть способен обрабатывать около пары тысяч запросов в секунду, а также должен быть надежным. Структура БД выглядит следующим образом (упрощенно):
Ad ==> site, position, percent of view (percent of time the ad is shown)
Таким образом, сервер объявлений должен получить необходимые строки из БД для конкретного сайта и позиции и выбрать, какое объявление отображать (в зависимости от процента).
Ниже представлены различные варианты, которые я рассматриваю (все они должны иметь несколько экземпляров и использовать балансировщик нагрузки).
Любые предложения или рекомендации тепло приветствуются.