Analytics Service

Высокопроизводительный сервис сбора событий с двойным приёмом (HTTP + RabbitMQ), пакетной записью для эффективности и маршрутизацией через topic exchange для категоризированной аналитики.

github.com/Danendz/analytics.danendz

// tech stack


Go 1.25FiberPostgreSQLRabbitMQGORM

// features


  • Двойной приём: HTTP API + потребитель RabbitMQ
  • Пакетная запись: 200 событий или интервал сброса 500мс
  • Маршрутизация через topic exchange: note.*, task.*, user.*, app.*, study.*
  • Структурированная схема событий с метаданными
  • Эндпоинты проверки здоровья и метрик

// architecture


Модульная структура Go: cmd/api (точка входа), internal/ (ingest, routes, models, bus, handlers, services). Потребитель RabbitMQ работает как горутина параллельно с HTTP-сервером Fiber. Пакетный писатель накапливает события и сбрасывает по счётчику или таймеру.