Sobes.tech
Middle — Senior
67

Внедрение модуля сбора аналитики

Task condition

Сервис обрабатывает поток GET‑запросов через API Gateway → TinyUrl GET → Cache/DB. Необходимо расширить архитектуру компонентой, отвечающей за сбор аналитики. Требуется реализовать фиксирование данных о переходах по ссылке:

  1. Что фиксировать: short_link, timestamp, IP, user‑agent, referer и прочее.
  2. Куда направлять события: в отдельный поток, базу данных или логгер.
  3. Как гарантировать, что сбор аналитики не будет тормозить основной GET‑поток.
  4. Какие инструменты применять: очередь (Kafka/PubSub), асинхронный воркер, батч‑обработку.
  5. Как построить хранение и агрегацию аналитических данных (например, ClickHouse).