Detailed Design of Instagram
Analyze the detailed System Design of Instagram, focusing on component integration like CDNs, caching, and read/write separation. Explore the trade-offs between pull, push, and hybrid approaches for efficient timeline generation. Learn how to meet non-functional requirements like scalability and low latency for a web-scale application.
We'll cover the following...
“
- <a href=”#Add-more-components" aria-label=“Read more about Add more components” >Add more components
- <a href="#Upload-view-and-search-a-photo" aria-label=“Read more about Upload, view, and search a photo” >Upload, view, and search a photo
- <a href="#Generate-a-timeline" aria-label=“Read more about Generate a timeline” >Generate a timeline
- <a href="#The-pull-approach" aria-label=“Read more about The pull approach” >The pull approach
- <a href="#The-push-approach" aria-label=“Read more about The push approach” >The push approach
- <a href="#Hybrid-approach" aria-label=“Read more about Hybrid approach” >Hybrid approach
- <a href="#Timeline-storage" aria-label=“Read more about Timeline storage” >Timeline storage
- <a href="#Stories" aria-label=“Read more about Stories” >Stories
- <a href="#Finalized-design" aria-label=“Read more about Finalized design” >Finalized design
- <a href="#Requirements-compliance" aria-label=“Read more about Requirements compliance” >Requirements compliance
- <a href="#Conclusion" aria-label=“Read more about Conclusion” >Conclusion
Add more components
We expand the design with the following components:
Load balancer: Distributes incoming user requests.
Application servers: Host the service logic for end users.
Relational database: Stores metadata and user information.
Blob storage: Stores media files (photos and videos).
Upload, view, and search a photo
Let’s discuss the upload, view, and search workflow:
Upload flow: The client sends a photo to the load balancer, which routes it to an application server. The server stores the photo in the database (blob storage) and sends a success or error notification to the user.
View and search flow: When a client requests to view or search for a photo, the application server ...