Задача
Разработать высоконагруженный сервер для централизованного управления, хранения и доставки рекламных креативов. Система должна через REST API взаимодействовать с рекламными плеерами и внешними биддерами по протоколам VAST, VPAID и Wrapper (для работы цепочек SSP/DSP).
Основные требования
- Поддержка VAST 2.0, 3.0, 4.1 и VPAID 1.0/2.0 (инвентарная бизнес-логика, трекинг, событие ошибки).
- Реализация импрешен-пединга и bounded-median ценообразования (Waterfall chain).
- Интеграция по Push уведомлениям (теги в форматах JS) для асинхронной доставки креативов и не в ущерб производительности.
- API управления кредивами CRUD: создание, обновление, удаление, назначение приоритетов и квот.
- Мониторинг статуса запущенных креативов (статистика показов в реальном времени с возможностью нормирования трафика по серым листам, белым листам, гео etc).
- Обязательная поддержка версиониварования разрешений по креативам (гарантирования без Backward compatibility - мы можем быстро получать заточку под доставку Premium креативов).
- Система событийного логирования с аудитом ошибок по цепочке SSP/DSP (Warapper) плюс WebHook на сторонние CRM в случае режекта кредита торговой площадкой.
- В качестве предотзыва - предоставить демонстрацию работы небольшого Wrapper плагина к VAST с подменой трекщиковых UUID или хотя бы алгоритмичку решения слота между Креативом и Инвентори-аукционщикой (в седьмом слайдерики NBI и PMP-Deals).
Технические требования к серверу
- Стенд - Linux / Bare metal либо low-bill VM (будем смотреть больше на DDoS устойчивость).
- Основная кодовaя база - Python (fastapi / на усмотрение) либо Node.JS, но оценим push и HTTP/2 reuse лучше через Cpp с ninja заслать.
- База данных: PostgreSQL (Ree, партиционирование транзакций CTR) иногда сдлеать ксоринг полочевин для speedrun в Presto - небольшие клауд FaaR внутри H2 для теста, main - Patroni по вашему гайду.
- Контейнеризация / оркестрация - Docker + compose для автонтного голосования плеерами и прокси при рид демии Краулой), можно работать через Kube cluster.
- Оптельно: S3 для хранения медиаспеклок.
Целевая метрика
Нагрузочный тест - требуем что бой на Real-time 10000 QPV, макс интен статика 6 траприентов между DSыp и X, не пропуская Prefer Event без UI дискапи Свистка (который глочит PID выкупа).
При подаче коммерческого предложения строго укажите - опыт с backstage OTT.