Search⌘ K
AI Features

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:

Adding components to design
Adding components to design

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 ...