каков бизнес заказчика?
Среди функциональных требований к системе были: корректное обслуживание запросов от Google RTB биржи и механизм встраивания стратегии обработки запроса. Стратегии доступны следующие данные:
поля RTB запроса
данные из внешней DMP
базовые исторические данные торгов
список рекламных кампаний и креативов
Следующее требование — интеграция со сторонними компонентами.
Оно включает:
запрос данных по cookie из сторонней DMP, оффлайн импорт лога торгов и лога конверсий.
Последнее функциональное требование — хранение данных по рекламным кампаниям и REST-интерфейс для их модификации
Нефункциональные требования выдвигались по производительности, среди них:
время на обслуживание одного запроса (включая задержки сети): 100 мс
в случае невозможности полностью его обработать, должен быть возвращен пустой ответ
Также были сформулированы требования по масштабируемости:
при увеличении количества серверов в системе количество обслуживаемых RTB-запросов должно увеличиваться линейно, обеспечивая поддержку нагрузки 1000 запросов в секунду количеством серверов не более 10
при масштабировании оффлайн-части отставание статистики от логов должно быть не более 6 часов
По отказоустойчивости специальных требований не было.