Top.Mail.Ru
Разработка
GoRunConf | Go
Как мы раздаем рекламные банеры на Go.
2 октября
10.55-11.35
Green 5

1. Введение

– Роль сервиса баннеров в экосистеме Wildberries (ключевой инструмент для товарооборота и рекламы).

– Основные функции: управление, отображение, контроль и аналитика.

– Проблемы прежней архитектуры и мотивация к упрощению и повышению надёжности.

2. Текущая нагрузка

– Масштабы показов (десятки миллионов пользователей, высокий RPS).

– Инфраструктура: три дата-центра, балансировка, отказоустойчивость.

– Особенности трафика: скачкообразные пики, подготовка к распродажам.

3. Архитектурная философия

– Принцип «макро-просто — микро-сложно»: простая верхнеуровневая структура, сложность внутри.

– «Философия Unix»: каждый компонент выполняет одну функцию.

– Обработка запросов через фильтры и минимальную «умность» баннера.

4. Эволюция таргетинга

– От простого таргетинга по полу и возрасту к оптимизации ресурсов.

– Проблемы с ростом памяти и CPU, переход к битовым картам.

– Существенное снижение задержек и ресурсов при сохранении точности.

5. Оптимизация Go-приложения

– Сжатие ответов (gzip), оптимизация map-ключей, работа с указателями.

– Использование профилирования (pprof) для поиска «горячих точек».

– Результаты: ускорение поиска, снижение памяти и CPU.

6. Выводы и уроки