1. Введение
– Роль сервиса баннеров в экосистеме Wildberries (ключевой инструмент для товарооборота и рекламы).
– Основные функции: управление, отображение, контроль и аналитика.
– Проблемы прежней архитектуры и мотивация к упрощению и повышению надёжности.
2. Текущая нагрузка
– Масштабы показов (десятки миллионов пользователей, высокий RPS).
– Инфраструктура: три дата-центра, балансировка, отказоустойчивость.
– Особенности трафика: скачкообразные пики, подготовка к распродажам.
3. Архитектурная философия
– Принцип «макро-просто — микро-сложно»: простая верхнеуровневая структура, сложность внутри.
– «Философия Unix»: каждый компонент выполняет одну функцию.
– Обработка запросов через фильтры и минимальную «умность» баннера.
4. Эволюция таргетинга
– От простого таргетинга по полу и возрасту к оптимизации ресурсов.
– Проблемы с ростом памяти и CPU, переход к битовым картам.
– Существенное снижение задержек и ресурсов при сохранении точности.
5. Оптимизация Go-приложения
– Сжатие ответов (gzip), оптимизация map-ключей, работа с указателями.
– Использование профилирования (pprof) для поиска «горячих точек».
– Результаты: ускорение поиска, снижение памяти и CPU.
6. Выводы и уроки