Кейс
Платформа аналитики в реальном времени
Сбор и обработка потока событий с дашбордами реального времени на Go, PostgreSQL и Redis.
- Год
- 2025
- Клиент
- SaaS-платформа аналитики
- Роль
- Tech Lead
Описание
Аналитическая платформа принимает поток пользовательских и системных событий, обрабатывает его на лету и отдаёт агрегированные показатели на дашборды с минимальной задержкой. Сервис приёма и обработки событий написан на Go ради высокой пропускной способности и предсказуемой латентности: горутины обслуживают тысячи одновременных соединений, события буферизуются и пакетно записываются в хранилище. Горячие агрегаты (счётчики, скользящие окна, топы) считаются в Redis с использованием упорядоченных множеств и HyperLogLog, а исторические данные хранятся в PostgreSQL с оконными функциями для аналитических запросов. Продуктовый слой и API управления дашбордами реализованы на Laravel. Вся система контейнеризирована и развёрнута в Kubernetes с горизонтальным автомасштабированием обработчиков под нагрузку, что позволяет переживать пиковые всплески трафика без потери событий.
Задача
Существующая аналитика считалась пакетными ночными заданиями, данные отставали на сутки, а при росте трафика обработка не успевала и теряла события. Бизнесу требовались актуальные метрики в реальном времени.
Решение
Построил сервис приёма событий на Go с пакетной записью, вынес горячие агрегаты в Redis, организовал историческое хранилище в PostgreSQL с оконными функциями и развернул обработчики в Kubernetes с автомасштабированием.
Результаты
Задержка от события до дашборда сократилась с 24 часов до 3 секунд, потеря событий на пиках устранена, платформа стабильно обрабатывает свыше 50 тысяч событий в секунду, инфраструктурные расходы снижены на 35%.