mirror of
				https://github.com/donnemartin/system-design-primer.git
				synced 2025-11-04 10:12:32 +03:00 
			
		
		
		
	Add index section
This commit is contained in:
		
							
								
								
									
										90
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										90
									
								
								README.md
									
									
									
									
									
								
							@@ -78,3 +78,93 @@ Feel free to submit pull requests to help:
 | 
				
			|||||||
Content that needs some polishing is placed [under development](#under-development).
 | 
					Content that needs some polishing is placed [under development](#under-development).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Review the [Contributing Guidelines](https://github.com/donnemartin/awesome-aws/blob/master/CONTRIBUTING.md).
 | 
					Review the [Contributing Guidelines](https://github.com/donnemartin/awesome-aws/blob/master/CONTRIBUTING.md).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Index of system design topics
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Summaries of various system design topics, including pros and cons.  **Everything is a trade-off**.
 | 
				
			||||||
 | 
					>
 | 
				
			||||||
 | 
					> Each section contains links to more in-depth resources.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* [System design topics: start here](#system-design-topics-start-here)
 | 
				
			||||||
 | 
					    * [Step 1: Review the scalability video lecture](#step-1-review-the-scalability-video-lecture)
 | 
				
			||||||
 | 
					    * [Step 2: Review the scalability article](#step-2-review-the-scalability-article)
 | 
				
			||||||
 | 
					    * [Next steps](#next-steps)
 | 
				
			||||||
 | 
					* [Performance vs scalability](#performance-vs-scalability)
 | 
				
			||||||
 | 
					* [Latency vs throughput](#latency-vs-throughput)
 | 
				
			||||||
 | 
					* [Availability vs consistency](#availability-vs-consistency)
 | 
				
			||||||
 | 
					    * [CAP theorem](#cap-theorem)
 | 
				
			||||||
 | 
					        * [CP - consistency and partition tolerance](#cp-consistency-and-partition-tolerance)
 | 
				
			||||||
 | 
					        * [AP - availability and partition tolerance](#ap-availability-and-partition-tolerance)
 | 
				
			||||||
 | 
					* [Consistency patterns](#consistency-patterns)
 | 
				
			||||||
 | 
					    * [Weak consistency](#weak-consistency)
 | 
				
			||||||
 | 
					    * [Eventual consistency](#eventual-consistency)
 | 
				
			||||||
 | 
					    * [Strong consistency](#strong-consistency)
 | 
				
			||||||
 | 
					* [Availability patterns](#availability-patterns)
 | 
				
			||||||
 | 
					    * [Fail-over](#fail-over)
 | 
				
			||||||
 | 
					    * [Replication](#replication)
 | 
				
			||||||
 | 
					* [Domain name system](#domain-name-system)
 | 
				
			||||||
 | 
					* [Content delivery network](#content-delivery-network)
 | 
				
			||||||
 | 
					    * [Push CDNs](#push-cdns)
 | 
				
			||||||
 | 
					    * [Pull CDNs](#pull-cdns)
 | 
				
			||||||
 | 
					* [Load balancer](#load-balancer)
 | 
				
			||||||
 | 
					    * [Active-passive](#active-passive)
 | 
				
			||||||
 | 
					    * [Active-active](#active-active)
 | 
				
			||||||
 | 
					    * [Layer 4 load balancing](#layer-4-load-balancing)
 | 
				
			||||||
 | 
					    * [Layer 7 load balancing](#layer-7-load-balancing)
 | 
				
			||||||
 | 
					    * [Horizontal scaling](#horizontal-scaling)
 | 
				
			||||||
 | 
					* [Reverse proxy (web server)](#reverse-proxy-web-server)
 | 
				
			||||||
 | 
					    * [Load balancer vs reverse proxy](#load-balancer-vs-reverse-proxy)
 | 
				
			||||||
 | 
					* [Application layer](#application-layer)
 | 
				
			||||||
 | 
					    * [Microservices](#microservices)
 | 
				
			||||||
 | 
					    * [Service discovery](#service-discovery)
 | 
				
			||||||
 | 
					* [Database](#database)
 | 
				
			||||||
 | 
					    * [SQL](#sql)
 | 
				
			||||||
 | 
					        * [Relational database management system (RDBMS)](relational-database-management-system-rdbms)
 | 
				
			||||||
 | 
					        * [Scaling SQL](#scaling-sql)
 | 
				
			||||||
 | 
					            * [Master-slave replication](#master-slave-replication)
 | 
				
			||||||
 | 
					            * [Federation](#federation)
 | 
				
			||||||
 | 
					            * [Sharding](#sharding)
 | 
				
			||||||
 | 
					            * [Denormalization](#denormalization)
 | 
				
			||||||
 | 
					            * [SQL tuning](#sql-tuning)
 | 
				
			||||||
 | 
					    * [NoSQL](#nosql)
 | 
				
			||||||
 | 
					        * [Key-value store](#key-value-store)
 | 
				
			||||||
 | 
					        * [Document store](#document-store)
 | 
				
			||||||
 | 
					        * [Wide column store](#wide-column-store)
 | 
				
			||||||
 | 
					        * [Graph Database](#graph-database)
 | 
				
			||||||
 | 
					    * [SQL or NoSQL](#sql-or-nosql)
 | 
				
			||||||
 | 
					* [Cache](#cache)
 | 
				
			||||||
 | 
					    * [Client caching](#client-caching)
 | 
				
			||||||
 | 
					    * [CDN caching](#cdn-caching)
 | 
				
			||||||
 | 
					    * [Web server caching](#web-server-caching)
 | 
				
			||||||
 | 
					    * [Database caching](#database-caching)
 | 
				
			||||||
 | 
					    * [Application caching](#application-caching)
 | 
				
			||||||
 | 
					    * [Caching at the database query level](#caching-at-the-database-query-level)
 | 
				
			||||||
 | 
					    * [Caching at the object level](#caching-at-the-object-level)
 | 
				
			||||||
 | 
					    * [When to update the cache](#when-to-update-the-cache)
 | 
				
			||||||
 | 
					        * [Cache-aside](#cache-aside)
 | 
				
			||||||
 | 
					        * [Write-through](#write-through)
 | 
				
			||||||
 | 
					        * [Write-behind (write-back)](#write-behind-write-back)
 | 
				
			||||||
 | 
					        * [Refresh-ahead](#refresh-ahead)
 | 
				
			||||||
 | 
					* [Asynchronism](#asynchronism)
 | 
				
			||||||
 | 
					    * [Message queues](#message-queues)
 | 
				
			||||||
 | 
					    * [Task queues](#task-queues)
 | 
				
			||||||
 | 
					    * [Back pressure](#back-pressure)
 | 
				
			||||||
 | 
					* [Communication](#communication)
 | 
				
			||||||
 | 
					    * [Transmission control protocol (TCP)](#transmission-control-protocol-tcp)
 | 
				
			||||||
 | 
					    * [User datagram protocol (UDP)](#user-datagram-protocol-udp)
 | 
				
			||||||
 | 
					    * [Remote procedure call (RPC)](#remote-procedure-call-rpc)
 | 
				
			||||||
 | 
					    * [Representational state transfer (REST)](#representational-state-transfer-rest)
 | 
				
			||||||
 | 
					* [Security](#security)
 | 
				
			||||||
 | 
					* [Appendix](#appendix)
 | 
				
			||||||
 | 
					    * [Powers of two table](#powers-of-two-table)
 | 
				
			||||||
 | 
					    * [Latency numbers every programmer should know](#latency-numbers-every-programmer-should-know)
 | 
				
			||||||
 | 
					* [Under development](#under-development)
 | 
				
			||||||
 | 
					    * [Distributed computing](#distributed-computing)
 | 
				
			||||||
 | 
					    * [Consistent hashing](#consistent-hashing)
 | 
				
			||||||
 | 
					    * [Scatter gather](#scatter-gather)
 | 
				
			||||||
 | 
					    * [Contribute](#contributing)
 | 
				
			||||||
 | 
					* [Credits](#credits)
 | 
				
			||||||
 | 
					* [Contact info](#contact-info)
 | 
				
			||||||
 | 
					* [License](#license)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user