Repaso
English
Diseño de sistemasIntermedioSD-23

Diseña un acortador de URLs (como bit.ly).

Respuesta

  • Requisitos: acortar, redirigir, alias propio y caducidad opcionales; mucha lectura (por ejemplo 100 lecturas por escritura).
  • API: POST /urls {long_url} → código corto; GET /{code} → redirección 301/302 (302 si quieres analítica de clics).
  • Generación del código: base62 de un ID único (secuencia de base de datos o IDs tipo Snowflake); 7 caracteres ≈ 3,5 billones de códigos. O hash + comprobación de colisiones.
  • Almacenamiento: tabla clave-valor code → long_url, created_at, expires_at.
  • Guarda en caché los códigos populares en Redis; redirecciones en el edge o CDN.
  • Analítica como eventos asíncronos a una cola.
  • Abuso: rate limits, escaneo de URLs maliciosas.

Términos clave

Practica esta pregunta en Repaso