Sobes.tech
Middle — Senior

Implementation of analytics collection module

livecode

Task condition

The service processes GET request streams through API Gateway → TinyUrl GET → Cache/DB. It is necessary to expand the architecture with a component responsible for analytics collection. It is required to implement data recording about link clicks:

  1. What to record: short_link, timestamp, IP, user-agent, referer, and others.
  2. Where to send events: to a separate stream, database, or logger.
  3. How to ensure that analytics collection does not slow down the main GET stream.
  4. What tools to use: queue (Kafka/PubSub), asynchronous worker, batch processing.
  5. How to build storage and aggregation of analytical data (e.g., ClickHouse).