# system-design-primer | Donne Martin | Knowledge Base | Instagit

Learn how to design large-scale systems. Prep for the system design interview.  Includes Anki flashcards.

GitHub Stars: 336k

Repository: https://github.com/donnemartin/system-design-primer

---

## Articles

### [Reverse Proxy vs Load Balancer: Key Differences and Use Cases](/donnemartin/system-design-primer/reverse-proxy-vs-load-balancer-differences)

Learn the key differences between reverse proxies and load balancers. Discover how reverse proxies secure and optimize access, while load balancers ensure scalability and fault tolerance for your applications.

- Tags: deep-dive
- Published: 2026-02-24

### [How to Scale a System to Millions of Users on AWS: A Step-by-Step Architectural Guide](/donnemartin/system-design-primer/how-to-scale-system-millions-users-aws)

Learn how to scale a system to millions of users on AWS with this step-by-step architectural guide. Discover strategies for incremental growth and robust performance.

- Tags: architecture
- Published: 2026-02-24

### [LRU Cache Implementation Using Object-Oriented Design Principles: Python Guide](/donnemartin/system-design-primer/lru-cache-implementation-object-oriented-design)

Learn LRU cache implementation with object-oriented Python. Achieve O(1) retrieval and insertion using a hash map and doubly-linked list, with automatic eviction.

- Tags: deep-dive
- Published: 2026-02-24

### [How to Design Amazon's Sales Ranking by Category Feature: A Complete System Design Guide](/donnemartin/system-design-primer/how-to-design-amazons-sales-ranking-by-category)

Design Amazon's sales ranking by category feature using MapReduce and a REST API. Learn to handle 100 billion monthly reads efficiently with a complete system design guide.

- Tags: how-to-guide
- Published: 2026-02-24

### [Performing Back-of-the-Envelope Calculations for System Design: A Complete Guide](/donnemartin/system-design-primer/back-of-the-envelope-calculations-system-design)

Master back-of-the-envelope calculations for system design. Learn to estimate requirements, performance, and cost quickly without coding. Essential guide for engineers.

- Tags: how-to-guide
- Published: 2026-02-24

### [CDN Integration and Effective Caching Strategies for Global Content Delivery](/donnemartin/system-design-primer/cdn-integration-and-caching-strategies)

Master CDN integration and effective caching strategies for global content delivery. Learn how CDNs speed up latency and reduce server load for seamless worldwide access.

- Tags: tutorial
- Published: 2026-02-24

### [How to Design a Key-Value Store for High Performance: Architecture and Implementation Guide](/donnemartin/system-design-primer/how-to-design-key-value-store-high-performance)

Learn to design a high-performance key-value store using in-memory caching, consistent hashing, and durable persistence. Explore essential architecture and implementation details for massive scalability and fault tolerance.

- Tags: how-to-guide
- Published: 2026-02-24

### [Horizontal vs Vertical Scaling: Pros, Cons, and Architectural Trade-offs](/donnemartin/system-design-primer/horizontal-vs-vertical-scaling-pros-and-cons)

Understand horizontal vs vertical scaling pros cons architectural trade-offs. Learn which scaling method is best for your system design.

- Tags: deep-dive
- Published: 2026-02-24

### [Consistency Patterns in Distributed Systems: Strong, Eventual, and Weak Consistency Explained](/donnemartin/system-design-primer/consistency-patterns-strong-eventual-weak)

Understand strong, eventual, and weak consistency patterns in distributed systems. Learn how each guarantees data accuracy and when to apply them for optimal performance.

- Tags: deep-dive
- Published: 2026-02-24

### [How to Design a Social Network Data Structure for Efficient Querying: A Complete System Design Guide](/donnemartin/system-design-primer/how-to-design-social-network-data-structure)

Design an efficient social network data structure using sharded graph storage and BFS traversal for sub-second user connection path querying across distributed servers.

- Tags: tutorial
- Published: 2026-02-24

### [Microservices Architecture Patterns and Service Discovery Methods: A Complete Technical Guide](/donnemartin/system-design-primer/microservices-architecture-patterns-and-service-discovery)

Explore microservices architecture patterns and service discovery methods. Learn how to build scalable, resilient systems with technologies like Consul etcd and Zookeeper.

- Tags: tutorial
- Published: 2026-02-24

### [How to Design a Scalable Web Crawler: Architecture & Implementation Guide](/donnemartin/system-design-primer/how-to-design-scalable-web-crawler)

Learn to design a scalable web crawler with our architecture and implementation guide. Discover how to handle billions of pages using a distributed queue-based system.

- Tags: how-to-guide
- Published: 2026-02-24

### [Caching Strategies: Cache-Aside, Write-Through, and Write-Behind Explained](/donnemartin/system-design-primer/caching-strategies-cache-aside-write-through-write-behind)

Understand caching strategies like cache-aside write-through and write-behind. Learn how these patterns balance read performance write latency and data consistency to optimize your system.

- Tags: tutorial
- Published: 2026-02-24

### [Load Balancing Algorithms and Strategies: Active-Passive vs Active-Active Explained](/donnemartin/system-design-primer/load-balancing-algorithms-and-strategies)

Learn active-passive vs active-active load balancing strategies. Understand how each method distributes traffic and handles failover to optimize server performance and uptime.

- Tags: deep-dive
- Published: 2026-02-24

### [Implementing Database Replication: Master-Slave vs Master-Master Architectures](/donnemartin/system-design-primer/implementing-database-replication-master-slave-master-master)

Master-slave vs master-master replication explained. Learn how to implement database replication for scalability and availability, choosing the right architecture for your needs.

- Tags: deep-dive
- Published: 2026-02-24

### [Database Sharding Strategies and Their Implementation: A Technical Guide](/donnemartin/system-design-primer/database-sharding-strategies-and-implementation)

Explore database sharding strategies like range, hash, directory, and geographic partitioning. Learn how to implement horizontal data partitioning for linear scalability and reduced I/O.

- Tags: how-to-guide
- Published: 2026-02-24

### [SQL vs NoSQL Databases: When to Use Which for Your Application](/donnemartin/system-design-primer/sql-vs-nosql-databases-when-to-use)

Learn when to use SQL vs NoSQL databases. Optimize your application by choosing between ACID transactions, complex joins, or horizontal scalability and flexible schemas. Master database selection.

- Tags: deep-dive
- Published: 2026-02-24

### [Understanding the CAP Theorem and Its Implications on Distributed Systems](/donnemartin/system-design-primer/understanding-cap-theorem-and-implications)

Grasp the CAP theorem's core concepts and its critical implications for distributed systems. Learn why Partition Tolerance is key in real-world architectures.

- Tags: deep-dive
- Published: 2026-02-24

### [How to Design Twitter's Timeline and Search Functionality: A Complete System Architecture](/donnemartin/system-design-primer/how-to-design-twitters-timeline-and-search)

Design Twitter's timeline and search functionality with a robust distributed system. Learn to handle 500 million daily tweets using caching, databases, and search clusters.

- Tags: how-to-guide
- Published: 2026-02-24

### [How to Design a URL Shortening Service Like Bit.ly: A Complete System Design Guide](/donnemartin/system-design-primer/how-to-design-url-shortening-service)

Design a URL shortening service like Bit.ly. Learn about MD5 hashing, Base62 encoding, database choices, caching, and API design for a complete system.

- Tags: guide
- Published: 2026-02-24

### [How to Approach a System Design Interview Question: The 4-Step Framework](/donnemartin/system-design-primer/how-to-approach-system-design-interview-question)

Master system design interview questions with our 4 step framework. Outline requirements, create high-level design, drill into components, and identify bottlenecks for success.

- Tags: how-to-guide
- Published: 2026-02-24

