
Design URL Shortener
45 minshashingdatabasescaching Contents
Requirements Clarification
Functional Requirements
- •Given a URL, our service should generate a shorter and unique alias of it.
- •When users access a short link, our service should redirect them to the original link.
- •Users should optionally be able to pick a custom short link for their URL.
- •Links will expire after a standard default timespan.
Non-Functional Requirements
- •The system should be highly available.
- •URL redirection should happen in real-time with minimal latency.
- •Shortened links should not be guessable (not predictable).
Extended Requirements
- •Analytics (e.g., how many times a redirection happened)
- •Our service should also be accessible through REST APIs by other services.
Requirements Clarification
Functional Requirements
- •Given a URL, our service should generate a shorter and unique alias of it.
- •When users access a short link, our service should redirect them to the original link.
- •Users should optionally be able to pick a custom short link for their URL.
- •Links will expire after a standard default timespan.
Non-Functional Requirements
- •The system should be highly available.
- •URL redirection should happen in real-time with minimal latency.
- •Shortened links should not be guessable (not predictable).
Extended Requirements
- •Analytics (e.g., how many times a redirection happened)
- •Our service should also be accessible through REST APIs by other services.
Design URL Shortener [Medium] | Meta System_design | TomoLink