Overview
Design a high-throughput, low-latency URL shortening service capable of handling hundreds of millions of URLs with custom aliases and click analytics.
Requirements
- 1Generate a unique, short URL string (e.g. 7 characters base62) for any given long URL
- 2Redirect HTTP GET requests on the short URL to the original destination with minimal latency (<10ms)
- 3Support ~100M URL creations per day with a 100:1 read-to-write ratio
- 4Collect click tracking analytics (visitor count, country, referrer) asynchronously
- 5Ensure 99.99% high availability and prevent duplicate key collisions
Architecture Hints (4)
Target Concepts
#Hashing#Redis#NoSQL#Load Balancing#Analytics