TinyURL
Use cases
Data analysis like click events, user sources.
Short url length to fit social media content limit (140 characters).
Avoid the website is blacklisted by domain name.
Functional requirements
Core
Shortening: Take a url and return a much shorter url.
Redirection: Take a short url and redirect to the original url.
Optional
Custom url: Allow the users to pick custom shortened url.
Analytics: Usage statistics for site owner.
Ex: How many people clicked the shortened url in the last day.
What were user locations
What if two people try to shorten the same URL?
Each url can have multiple tiny urls
URL is not guessable?
Yes
Needs original url validation
No
Automatic link expiration
Manual link removal
UI vs API
Non functional
High performance
80% latency smaller than 5ms, 99% latency smaller than 20ms, average latency smaller than 10ms.
Our system is similar to DNS resolution, higher latency on URL shortener is similar to a failure to resolve.
High availability
It should be high available.
Not predictable
Short url should be not predictable to avoid hacking and leaking important information.
Last updated