Кейс

Платформа аналитики в реальном времени

Сбор и обработка потока событий с дашбордами реального времени на Go, PostgreSQL и Redis.

Год
2025
Клиент
SaaS-платформа аналитики
Роль
Tech Lead
П

Описание

Аналитическая платформа принимает поток пользовательских и системных событий, обрабатывает его на лету и отдаёт агрегированные показатели на дашборды с минимальной задержкой. Сервис приёма и обработки событий написан на Go ради высокой пропускной способности и предсказуемой латентности: горутины обслуживают тысячи одновременных соединений, события буферизуются и пакетно записываются в хранилище. Горячие агрегаты (счётчики, скользящие окна, топы) считаются в Redis с использованием упорядоченных множеств и HyperLogLog, а исторические данные хранятся в PostgreSQL с оконными функциями для аналитических запросов. Продуктовый слой и API управления дашбордами реализованы на Laravel. Вся система контейнеризирована и развёрнута в Kubernetes с горизонтальным автомасштабированием обработчиков под нагрузку, что позволяет переживать пиковые всплески трафика без потери событий.

Задача

Существующая аналитика считалась пакетными ночными заданиями, данные отставали на сутки, а при росте трафика обработка не успевала и теряла события. Бизнесу требовались актуальные метрики в реальном времени.

Решение

Построил сервис приёма событий на Go с пакетной записью, вынес горячие агрегаты в Redis, организовал историческое хранилище в PostgreSQL с оконными функциями и развернул обработчики в Kubernetes с автомасштабированием.

Результаты

Задержка от события до дашборда сократилась с 24 часов до 3 секунд, потеря событий на пиках устранена, платформа стабильно обрабатывает свыше 50 тысяч событий в секунду, инфраструктурные расходы снижены на 35%.

Технологии