Я пишу движок баннерной рекламы в php/mysql. Я не хочу использовать OpenX или готовое решение, потому что будет куча пользовательских функций, которые я бы предпочел не полагаться на существующую систему, чтобы приспособиться к ней.
Вот мысли и мои текущие подходы к архитектуре впечатлений:
- Запросы к серверу баннеров поступают через фрагмент javascript на целевом сайте.
- Сервер имеет кешированный список баннеров для обслуживания и возвращает соответствующее изображение по мере необходимости.
- Показы записываются в файлы журнала, аналогичные стилю журнала доступа Apache: с использованием вращающегося текстового файла с добавлением одной строки на каждый показ.
- Файлы журнала записывают IP-адрес пользователя, URL-адрес, идентификатор баннера, время и т. д.
- Файлы журналов ротируются ежечасно, а затем суммируются (также ежечасно) в базу данных mysql, чтобы рекламодатели могли получать (приблизительно) статистику активности в реальном времени.
Мои опасения:
- Является ли запись в файл журнала эффективным и масштабируемым способом записи показов? Мы рассчитываем обслуживать 13-15 миллионов показов в месяц.
- Какие-нибудь подводные камни с подходом к записи журнала?