Advanced System Design — Scale TinyURL

Discussing how to scale the barebones TinyURL system using Load Balancer and Database Horizontal Partitioning, and related topics like partition key design strategy, partition vs replica vs backup, SQL vs NoSQL.

Image for post
Image for post
Image credit to Jason Chen
Image for post
Image for post
Image by Author

Web Server

Image for post
Image for post
Multiple Web Servers behind a Load Balancer (Image by Author)

Database Server

Image for post
Image for post
Simplified Consistent Hash Ring (Image by Author)
Image for post
Image for post
Simplified Consistent Hash Ring with virtual segments (Image by Author)
Image for post
Image for post
Image by Author

Scalable TinyURL System

Image for post
Image for post
Image by Author

Conclusion

Written by

Software Engineer, Machine Learning Engineer. When I am not dived into data and code, I am hanging out with my young daughter or outside rock climbing!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store