Segregate fundamentals into key concepts and building blocks
This commit is contained in:
committed by
GitHub
parent
7a509d06d8
commit
20818b72f5
42
README.md
42
README.md
@@ -6,29 +6,39 @@
|
||||
</p>
|
||||
This repository contains resources to learn System Design concepts and prepare for interviews using free resources.
|
||||
|
||||
## System Design Fundamentals
|
||||
## System Design Key Concepts
|
||||
- [Scalability](https://newsletter.ashishps.com/p/scalability)
|
||||
- [Horizontal vs Vertical Scaling](https://www.spiceworks.com/tech/cloud/articles/horizontal-vs-vertical-cloud-scaling/)
|
||||
- [Latency vs Throughput](https://aws.amazon.com/compare/the-difference-between-throughput-and-latency/)
|
||||
- [Databases](https://newsletter.ashishps.com/p/15-types-of-databases-and-when-to)
|
||||
- [Content Delivery Network (CDN)](https://www.cloudflare.com/learning/cdn/what-is-a-cdn/)
|
||||
- [Caching](https://medium.com/must-know-computer-science/system-design-caching-acbd1b02ca01)
|
||||
- [Distributed Caching](https://redis.com/glossary/distributed-caching/)
|
||||
- [CAP Theorem](https://www.bmc.com/blogs/cap-theorem/)
|
||||
- [Load Balancing](https://aws.amazon.com/what-is/load-balancing/)
|
||||
- [ACID Transactions](https://redis.com/glossary/acid-transactions/)
|
||||
- [SQL vs NoSQL](https://www.integrate.io/blog/the-sql-vs-nosql-difference/)
|
||||
- [Consistent Hashing](https://arpitbhayani.me/blogs/consistent-hashing/)
|
||||
- [Database Index](https://www.progress.com/tutorials/odbc/using-indexes)
|
||||
- [Rate Limiting](https://www.imperva.com/learn/application-security/rate-limiting/)
|
||||
- [Microservices Architecture](https://medium.com/hashmapinc/the-what-why-and-how-of-a-microservices-architecture-4179579423a9)
|
||||
- [Microservices Guidelines](https://newsletter.systemdesign.one/p/netflix-microservices)
|
||||
- [API Design](https://abdulrwahab.medium.com/api-architecture-best-practices-for-designing-rest-apis-bf907025f5f)
|
||||
- [Strong vs Eventual Consistency](https://hackernoon.com/eventual-vs-strong-consistency-in-distributed-databases-282fdad37cf7)
|
||||
- [Consistency Patterns](https://systemdesign.one/consistency-patterns/)
|
||||
- [Synchronous vs. asynchronous communications](https://www.techtarget.com/searchapparchitecture/tip/Synchronous-vs-asynchronous-communication-The-differences)
|
||||
- [REST vs RPC](https://aws.amazon.com/compare/the-difference-between-rpc-and-rest/)
|
||||
- [Batch Processing vs Stream Processing](https://atlan.com/batch-processing-vs-stream-processing/)
|
||||
- [Fault Tolerance](https://www.cockroachlabs.com/blog/what-is-fault-tolerance/)
|
||||
- [Consensus Algorithms](https://medium.com/@sourabhatta1819/consensus-in-distributed-system-ac79f8ba2b8c)
|
||||
- [Gossip Protocol](http://highscalability.com/blog/2023/7/16/gossip-protocol-explained.html)
|
||||
- [Serverless Architecture](https://www.datadoghq.com/knowledge-center/serverless-architecture/)
|
||||
- [Service Discovery](https://www.nginx.com/blog/service-discovery-in-a-microservices-architecture/)
|
||||
- [Disaster Recovery](https://cloud.google.com/learn/what-is-disaster-recovery)
|
||||
- [Distributed Tracing](https://www.dynatrace.com/news/blog/what-is-distributed-tracing/)
|
||||
- [Top 15 Tradeoffs](https://newsletter.ashishps.com/p/system-design-top-15-trade-offs)
|
||||
|
||||
## System Design Building Blocks
|
||||
- [Horizontal vs Vertical Scaling](https://www.spiceworks.com/tech/cloud/articles/horizontal-vs-vertical-cloud-scaling/)
|
||||
- [Databases](https://newsletter.ashishps.com/p/15-types-of-databases-and-when-to)
|
||||
- [Content Delivery Network (CDN)](https://www.cloudflare.com/learning/cdn/what-is-a-cdn/)
|
||||
- [Domain Name System (DNS)](https://www.cloudflare.com/learning/dns/what-is-dns/)
|
||||
- [Caching](https://medium.com/must-know-computer-science/system-design-caching-acbd1b02ca01)
|
||||
- [Distributed Caching](https://redis.com/glossary/distributed-caching/)
|
||||
- [Load Balancing](https://aws.amazon.com/what-is/load-balancing/)
|
||||
- [SQL vs NoSQL](https://www.integrate.io/blog/the-sql-vs-nosql-difference/)
|
||||
- [Database Index](https://www.progress.com/tutorials/odbc/using-indexes)
|
||||
- [Consistency Patterns](https://systemdesign.one/consistency-patterns/)
|
||||
- [HeartBeat](https://martinfowler.com/articles/patterns-of-distributed-systems/heartbeat.html)
|
||||
- [Circuit Breaker](https://medium.com/geekculture/design-patterns-for-microservices-circuit-breaker-pattern-276249ffab33)
|
||||
- [Idempotency](https://blog.dreamfactory.com/what-is-idempotency/)
|
||||
@@ -36,23 +46,15 @@ This repository contains resources to learn System Design concepts and prepare f
|
||||
- [Data Replication](https://redis.com/blog/what-is-data-replication/)
|
||||
- [Data Redundancy](https://www.egnyte.com/guides/governance/data-redundancy)
|
||||
- [Database Sharding](https://www.mongodb.com/features/database-sharding-explained#)
|
||||
- [Fault Tolerance](https://www.cockroachlabs.com/blog/what-is-fault-tolerance/)
|
||||
- [Microservices Guidelines](https://newsletter.systemdesign.one/p/netflix-microservices)
|
||||
- [Failover](https://avinetworks.com/glossary/failover/)
|
||||
- [Proxy Server](https://www.fortinet.com/resources/cyberglossary/proxy-server)
|
||||
- [Domain Name System (DNS)](https://www.cloudflare.com/learning/dns/what-is-dns/)
|
||||
- [Message Queues](https://medium.com/must-know-computer-science/system-design-message-queues-245612428a22)
|
||||
- [WebSockets](https://www.pubnub.com/guides/websockets/)
|
||||
- [Bloom Filters](https://www.enjoyalgorithms.com/blog/bloom-filter)
|
||||
- [Consensus Algorithms](https://medium.com/@sourabhatta1819/consensus-in-distributed-system-ac79f8ba2b8c)
|
||||
- [Gossip Protocol](http://highscalability.com/blog/2023/7/16/gossip-protocol-explained.html)
|
||||
- [API Gateway](https://www.nginx.com/learn/api-gateway/)
|
||||
- [Serverless Architecture](https://www.datadoghq.com/knowledge-center/serverless-architecture/)
|
||||
- [Service Discovery](https://www.nginx.com/blog/service-discovery-in-a-microservices-architecture/)
|
||||
- [Disaster Recovery](https://cloud.google.com/learn/what-is-disaster-recovery)
|
||||
- [Distributed Locking](https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html)
|
||||
- [Distributed Tracing](https://www.dynatrace.com/news/blog/what-is-distributed-tracing/)
|
||||
- [Checksum](https://www.lifewire.com/what-does-checksum-mean-2625825)
|
||||
- [Top 15 Tradeoffs](https://newsletter.ashishps.com/p/system-design-top-15-trade-offs)
|
||||
|
||||
### [System Design Interview Template](interview-template.md)
|
||||
<img src="diagrams/interview-template.png" width="400" height="250">
|
||||
|
||||
Reference in New Issue
Block a user