Задача

Разработать высоконагруженный сервер для централизованного управления, хранения и доставки рекламных креативов. Система должна через 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.