diff --git a/README.md b/README.md index 86ff995..25a588f 100644 --- a/README.md +++ b/README.md @@ -6,29 +6,39 @@
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)