System Design Interview - Chapter 8 - Design a URL Shortener
The previous chapters have described the underlying technologies such as consistent hashing, ID generator, and now using these techniques we can develop a URL shortener that can generate 100 million URLs per day.
Design consists of the following elements:
- API endpoints
- URL redirecting
- URL shortening
- Data model
- Hash functions: Hash + collision resolution vs Base-62 conversion
- Additional topics to consider:
- Rate limiter
- Web server scaling
- Database scaling
- Analytics
- Availability, consistency, and reliability
These items are disclosed in a very interesting Chapter 8 of the book:
Sharing my mind map with all the details as usual:
See also:
- System Design Interview - Chapter 6 - Design a Key-Value store
- System Design Interview - Chapter 2 - Back-to-the-envelope estimation
- System Design Interview - Chapter 7 - Design a Unique ID Generator in Distributed Systems
- System Design Interview - Chapter 5 - Design Consistent Hashing
- System Design Interview - Chapter 4 - Design a Rate Limiter