| route-pattern | /:user_id/:repository |
| route-controller | files |
| route-action | disambiguate |
| fetch-nonce | v2:282ebb1d-0f2a-ac9c-0377-ba0905898ee8 |
| current-catalog-service-hash | f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb |
| request-id | D848:162028:45D202:5E889C:697CF262 |
| html-safe-nonce | 9468a54700d07227f68865685c4543f982066ffab8a8c2094092c2d690d38bb8 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEODQ4OjE2MjAyODo0NUQyMDI6NUU4ODlDOjY5N0NGMjYyIiwidmlzaXRvcl9pZCI6IjY3NDM4MzEzMjIwNzU5MTg5NDYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 53f47b3f98b9fccf462e4f80055ac261d1bb1a84c103df73caca7a86dcd54843 |
| hovercard-subject-tag | repository:527221320 |
| github-keyboard-shortcuts | repository,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | // |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/fe-project/system-design |
| twitter:image | https://opengraph.githubassets.com/c052d59449c7fb2d0a266e5bc5bae89954f826738cd7a6576adcd0c9c7f8d142/fe-project/system-design |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/c052d59449c7fb2d0a266e5bc5bae89954f826738cd7a6576adcd0c9c7f8d142/fe-project/system-design |
| og:image:alt | Learn how to design systems at scale and prepare for system design interviews - fe-project/system-design |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 28e7ca4155534425a15f1dc5e08f1b68ec10cd34457a151b54350f3c41509ccd |
| turbo-cache-control | no-preview |
| go-import | github.com/fe-project/system-design git https://github.com/fe-project/system-design.git |
| octolytics-dimension-user_id | 83260952 |
| octolytics-dimension-user_login | fe-project |
| octolytics-dimension-repository_id | 527221320 |
| octolytics-dimension-repository_nwo | fe-project/system-design |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | true |
| octolytics-dimension-repository_parent_id | 525105056 |
| octolytics-dimension-repository_parent_nwo | karanpratapsingh/system-design |
| octolytics-dimension-repository_network_root_id | 525105056 |
| octolytics-dimension-repository_network_root_nwo | karanpratapsingh/system-design |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | a52bcabff335e5b06d23d036f06e742e55f85cd9 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://patch-diff.githubusercontent.com/fe-project/system-design#start-of-content |
|
| https://patch-diff.githubusercontent.com/ |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffe-project%2Fsystem-design |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub SparkBuild and deploy intelligent apps | https://github.com/features/spark |
| GitHub ModelsManage and compare prompts | https://github.com/features/models |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Ffe-project%2Fsystem-design |
|
Sign up
| https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=fe-project%2Fsystem-design |
| Reload | https://patch-diff.githubusercontent.com/fe-project/system-design |
| Reload | https://patch-diff.githubusercontent.com/fe-project/system-design |
| Reload | https://patch-diff.githubusercontent.com/fe-project/system-design |
|
fe-project
| https://patch-diff.githubusercontent.com/fe-project |
| system-design | https://patch-diff.githubusercontent.com/fe-project/system-design |
| karanpratapsingh/system-design | https://patch-diff.githubusercontent.com/karanpratapsingh/system-design |
|
Notifications
| https://patch-diff.githubusercontent.com/login?return_to=%2Ffe-project%2Fsystem-design |
|
Fork
0
| https://patch-diff.githubusercontent.com/login?return_to=%2Ffe-project%2Fsystem-design |
|
Star
0
| https://patch-diff.githubusercontent.com/login?return_to=%2Ffe-project%2Fsystem-design |
| www.karanpratapsingh.com/courses/system-design | https://www.karanpratapsingh.com/courses/system-design |
|
GPL-3.0 license
| https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/LICENSE |
|
0
stars
| https://patch-diff.githubusercontent.com/fe-project/system-design/stargazers |
|
5k
forks
| https://patch-diff.githubusercontent.com/fe-project/system-design/forks |
|
Branches
| https://patch-diff.githubusercontent.com/fe-project/system-design/branches |
|
Tags
| https://patch-diff.githubusercontent.com/fe-project/system-design/tags |
|
Activity
| https://patch-diff.githubusercontent.com/fe-project/system-design/activity |
|
Star
| https://patch-diff.githubusercontent.com/login?return_to=%2Ffe-project%2Fsystem-design |
|
Notifications
| https://patch-diff.githubusercontent.com/login?return_to=%2Ffe-project%2Fsystem-design |
|
Code
| https://patch-diff.githubusercontent.com/fe-project/system-design |
|
Pull requests
0
| https://patch-diff.githubusercontent.com/fe-project/system-design/pulls |
|
Actions
| https://patch-diff.githubusercontent.com/fe-project/system-design/actions |
|
Projects
0
| https://patch-diff.githubusercontent.com/fe-project/system-design/projects |
|
Security
0
| https://patch-diff.githubusercontent.com/fe-project/system-design/security |
|
Insights
| https://patch-diff.githubusercontent.com/fe-project/system-design/pulse |
|
Code
| https://patch-diff.githubusercontent.com/fe-project/system-design |
|
Pull requests
| https://patch-diff.githubusercontent.com/fe-project/system-design/pulls |
|
Actions
| https://patch-diff.githubusercontent.com/fe-project/system-design/actions |
|
Projects
| https://patch-diff.githubusercontent.com/fe-project/system-design/projects |
|
Security
| https://patch-diff.githubusercontent.com/fe-project/system-design/security |
|
Insights
| https://patch-diff.githubusercontent.com/fe-project/system-design/pulse |
| Branches | https://patch-diff.githubusercontent.com/fe-project/system-design/branches |
| Tags | https://patch-diff.githubusercontent.com/fe-project/system-design/tags |
| https://patch-diff.githubusercontent.com/fe-project/system-design/branches |
| https://patch-diff.githubusercontent.com/fe-project/system-design/tags |
| 12 Commits | https://patch-diff.githubusercontent.com/fe-project/system-design/commits/main/ |
| https://patch-diff.githubusercontent.com/fe-project/system-design/commits/main/ |
| diagrams | https://patch-diff.githubusercontent.com/fe-project/system-design/tree/main/diagrams |
| diagrams | https://patch-diff.githubusercontent.com/fe-project/system-design/tree/main/diagrams |
| .gitignore | https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/.gitignore |
| .gitignore | https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/.gitignore |
| LICENSE | https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/LICENSE |
| LICENSE | https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/LICENSE |
| README.md | https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/README.md |
| README.md | https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/README.md |
| README | https://patch-diff.githubusercontent.com/fe-project/system-design |
| License | https://patch-diff.githubusercontent.com/fe-project/system-design |
| https://patch-diff.githubusercontent.com/fe-project/system-design#system-design-course |
| website | https://karanpratapsingh.com/courses/system-design |
| https://patch-diff.githubusercontent.com/fe-project/system-design#table-of-contents |
| What is system design? | https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-system-design |
| IP | https://patch-diff.githubusercontent.com/fe-project/system-design#ip |
| OSI Model | https://patch-diff.githubusercontent.com/fe-project/system-design#osi-model |
| TCP and UDP | https://patch-diff.githubusercontent.com/fe-project/system-design#tcp-and-udp |
| Domain Name System (DNS) | https://patch-diff.githubusercontent.com/fe-project/system-design#domain-name-system-dns |
| Load Balancing | https://patch-diff.githubusercontent.com/fe-project/system-design#load-balancing |
| Clustering | https://patch-diff.githubusercontent.com/fe-project/system-design#clustering |
| Caching | https://patch-diff.githubusercontent.com/fe-project/system-design#caching |
| Content Delivery Network (CDN) | https://patch-diff.githubusercontent.com/fe-project/system-design#content-delivery-network-cdn |
| Proxy | https://patch-diff.githubusercontent.com/fe-project/system-design#proxy |
| Availability | https://patch-diff.githubusercontent.com/fe-project/system-design#availability |
| Scalability | https://patch-diff.githubusercontent.com/fe-project/system-design#scalability |
| Storage | https://patch-diff.githubusercontent.com/fe-project/system-design#storage |
| Databases and DBMS | https://patch-diff.githubusercontent.com/fe-project/system-design#databases-and-dbms |
| SQL databases | https://patch-diff.githubusercontent.com/fe-project/system-design#sql-databases |
| NoSQL databases | https://patch-diff.githubusercontent.com/fe-project/system-design#nosql-databases |
| SQL vs NoSQL databases | https://patch-diff.githubusercontent.com/fe-project/system-design#sql-vs-nosql-databases |
| Database Replication | https://patch-diff.githubusercontent.com/fe-project/system-design#database-replication |
| Indexes | https://patch-diff.githubusercontent.com/fe-project/system-design#indexes |
| Normalization and Denormalization | https://patch-diff.githubusercontent.com/fe-project/system-design#normalization-and-denormalization |
| ACID and BASE consistency models | https://patch-diff.githubusercontent.com/fe-project/system-design#acid-and-base-consistency-models |
| CAP theorem | https://patch-diff.githubusercontent.com/fe-project/system-design#cap-theorem |
| PACELC Theorem | https://patch-diff.githubusercontent.com/fe-project/system-design#pacelc-theorem |
| Transactions | https://patch-diff.githubusercontent.com/fe-project/system-design#transactions |
| Distributed Transactions | https://patch-diff.githubusercontent.com/fe-project/system-design#distributed-transactions |
| Sharding | https://patch-diff.githubusercontent.com/fe-project/system-design#sharding |
| Consistent Hashing | https://patch-diff.githubusercontent.com/fe-project/system-design#consistent-hashing |
| Database Federation | https://patch-diff.githubusercontent.com/fe-project/system-design#database-federation |
| N-tier architecture | https://patch-diff.githubusercontent.com/fe-project/system-design#n-tier-architecture |
| Message Brokers | https://patch-diff.githubusercontent.com/fe-project/system-design#message-brokers |
| Message Queues | https://patch-diff.githubusercontent.com/fe-project/system-design#message-queues |
| Publish-Subscribe | https://patch-diff.githubusercontent.com/fe-project/system-design#publish-subscribe |
| Enterprise Service Bus (ESB) | https://patch-diff.githubusercontent.com/fe-project/system-design#enterprise-service-bus-esb |
| Monoliths and Microservices | https://patch-diff.githubusercontent.com/fe-project/system-design#monoliths-and-microservices |
| Event-Driven Architecture (EDA) | https://patch-diff.githubusercontent.com/fe-project/system-design#event-driven-architecture-eda |
| Event Sourcing | https://patch-diff.githubusercontent.com/fe-project/system-design#event-sourcing |
| Command and Query Responsibility Segregation (CQRS) | https://patch-diff.githubusercontent.com/fe-project/system-design#command-and-query-responsibility-segregation-cqrs |
| API Gateway | https://patch-diff.githubusercontent.com/fe-project/system-design#api-gateway |
| REST, GraphQL, gRPC | https://patch-diff.githubusercontent.com/fe-project/system-design#rest-graphql-grpc |
| Long polling, WebSockets, Server-Sent Events (SSE) | https://patch-diff.githubusercontent.com/fe-project/system-design#long-polling-websockets-server-sent-events-sse |
| Geohashing and Quadtrees | https://patch-diff.githubusercontent.com/fe-project/system-design#geohashing-and-quadtrees |
| Circuit breaker | https://patch-diff.githubusercontent.com/fe-project/system-design#circuit-breaker |
| Rate Limiting | https://patch-diff.githubusercontent.com/fe-project/system-design#rate-limiting |
| Service Discovery | https://patch-diff.githubusercontent.com/fe-project/system-design#service-discovery |
| SLA, SLO, SLI | https://patch-diff.githubusercontent.com/fe-project/system-design#sla-slo-sli |
| Disaster recovery | https://patch-diff.githubusercontent.com/fe-project/system-design#disaster-recovery |
| Virtual Machines (VMs) and Containers | https://patch-diff.githubusercontent.com/fe-project/system-design#virtual-machines-vms-and-containers |
| OAuth 2.0 and OpenID Connect (OIDC) | https://patch-diff.githubusercontent.com/fe-project/system-design#oauth-20-and-openid-connect-oidc |
| Single Sign-On (SSO) | https://patch-diff.githubusercontent.com/fe-project/system-design#single-sign-on-sso |
| SSL, TLS, mTLS | https://patch-diff.githubusercontent.com/fe-project/system-design#ssl-tls-mtls |
| System Design Interviews | https://patch-diff.githubusercontent.com/fe-project/system-design#system-design-interviews |
| URL Shortener | https://patch-diff.githubusercontent.com/fe-project/system-design#url-shortener |
| Whatsapp | https://patch-diff.githubusercontent.com/fe-project/system-design#whatsapp |
| Twitter | https://patch-diff.githubusercontent.com/fe-project/system-design#twitter |
| Netflix | https://patch-diff.githubusercontent.com/fe-project/system-design#netflix |
| Uber | https://patch-diff.githubusercontent.com/fe-project/system-design#uber |
| Next Steps | https://patch-diff.githubusercontent.com/fe-project/system-design#next-steps |
| References | https://patch-diff.githubusercontent.com/fe-project/system-design#references |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-system-design |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-is-system-design-so-important |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ip |
| https://patch-diff.githubusercontent.com/fe-project/system-design#versions |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ipv4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ipv6 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#types |
| https://patch-diff.githubusercontent.com/fe-project/system-design#public |
| https://patch-diff.githubusercontent.com/fe-project/system-design#private |
| https://patch-diff.githubusercontent.com/fe-project/system-design#static |
| https://patch-diff.githubusercontent.com/fe-project/system-design#dynamic |
| Dynamic Host Configuration Protocol (DHCP) | https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol |
| https://patch-diff.githubusercontent.com/fe-project/system-design#osi-model |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/osi-model/osi-model.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-does-the-osi-model-matter |
| https://patch-diff.githubusercontent.com/fe-project/system-design#layers |
| https://patch-diff.githubusercontent.com/fe-project/system-design#application |
| https://patch-diff.githubusercontent.com/fe-project/system-design#presentation |
| https://patch-diff.githubusercontent.com/fe-project/system-design#session |
| https://patch-diff.githubusercontent.com/fe-project/system-design#transport |
| https://patch-diff.githubusercontent.com/fe-project/system-design#network |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-link |
| https://patch-diff.githubusercontent.com/fe-project/system-design#physical |
| https://patch-diff.githubusercontent.com/fe-project/system-design#tcp-and-udp |
| https://patch-diff.githubusercontent.com/fe-project/system-design#tcp |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/tcp-and-udp/tcp.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#udp |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/tcp-and-udp/udp.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#tcp-vs-udp |
| https://patch-diff.githubusercontent.com/fe-project/system-design#domain-name-system-dns |
| https://patch-diff.githubusercontent.com/fe-project/system-design#how-dns-works |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/domain-name-system/how-dns-works.png |
| example.com | http://example.com |
| example.com | http://example.com |
| example.com | http://example.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#server-types |
| https://patch-diff.githubusercontent.com/fe-project/system-design#dns-resolver |
| https://patch-diff.githubusercontent.com/fe-project/system-design#dns-root-server |
| Internet Corporation for Assigned Names and Numbers (ICANN) | https://www.icann.org |
| Anycast routing | https://en.wikipedia.org/wiki/Anycast |
| https://patch-diff.githubusercontent.com/fe-project/system-design#tld-nameserver |
| Internet Assigned Numbers Authority (IANA) | https://www.iana.org |
| ICANN | https://www.icann.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#authoritative-dns-server |
| google.com | http://google.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#query-types |
| https://patch-diff.githubusercontent.com/fe-project/system-design#recursive |
| https://patch-diff.githubusercontent.com/fe-project/system-design#iterative |
| https://patch-diff.githubusercontent.com/fe-project/system-design#non-recursive |
| https://patch-diff.githubusercontent.com/fe-project/system-design#records-types |
| https://patch-diff.githubusercontent.com/fe-project/system-design#subdomains |
| https://patch-diff.githubusercontent.com/fe-project/system-design#dns-zones |
| https://patch-diff.githubusercontent.com/fe-project/system-design#dns-caching |
| https://patch-diff.githubusercontent.com/fe-project/system-design#reverse-dns |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples |
| Route53 | https://aws.amazon.com/route53 |
| Cloudflare DNS | https://www.cloudflare.com/dns |
| Google Cloud DNS | https://cloud.google.com/dns |
| Azure DNS | https://azure.microsoft.com/en-in/services/dns |
| NS1 | https://ns1.com/products/managed-dns |
| https://patch-diff.githubusercontent.com/fe-project/system-design#load-balancing |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/load-balancing/load-balancer.png |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/load-balancing/load-balancer-layers.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#but-why |
| https://patch-diff.githubusercontent.com/fe-project/system-design#workload-distribution |
| https://patch-diff.githubusercontent.com/fe-project/system-design#layers-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#network-layer |
| https://patch-diff.githubusercontent.com/fe-project/system-design#application-layer |
| https://patch-diff.githubusercontent.com/fe-project/system-design#types-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#software |
| https://patch-diff.githubusercontent.com/fe-project/system-design#hardware |
| https://patch-diff.githubusercontent.com/fe-project/system-design#dns |
| https://patch-diff.githubusercontent.com/fe-project/system-design#routing-algorithms |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages |
| https://patch-diff.githubusercontent.com/fe-project/system-design#redundant-load-balancers |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/load-balancing/redundant-load-balancer.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#features |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-1 |
| Amazon Elastic Load Balancing | https://aws.amazon.com/elasticloadbalancing |
| Azure Load Balancing | https://azure.microsoft.com/en-in/services/load-balancer |
| GCP Load Balancing | https://cloud.google.com/load-balancing |
| DigitalOcean Load Balancer | https://www.digitalocean.com/products/load-balancer |
| Nginx | https://www.nginx.com |
| HAProxy | http://www.haproxy.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#clustering |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/clustering/cluster.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#types-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#configurations |
| https://patch-diff.githubusercontent.com/fe-project/system-design#active-active |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/clustering/active-active.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#active-passive |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/clustering/active-passive.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#load-balancing-vs-clustering |
| https://patch-diff.githubusercontent.com/fe-project/system-design#challenges |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-2 |
| Kubernetes | https://kubernetes.io |
| Amazon ECS | https://aws.amazon.com/ecs |
| Cassandra | https://cassandra.apache.org/_/index.html |
| MongoDB | https://www.mongodb.com |
| Redis | https://redis.io/docs/manual/scaling |
| https://patch-diff.githubusercontent.com/fe-project/system-design#caching |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/caching/caching.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#caching-and-memory |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cache-hit-and-cache-miss |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cache-hit |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cache-miss |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cache-invalidation |
| https://patch-diff.githubusercontent.com/fe-project/system-design#write-through-cache |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/caching/write-through-cache.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#write-around-cache |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/caching/write-around-cache.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#write-back-cache |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/caching/write-back-cache.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#eviction-policies |
| https://patch-diff.githubusercontent.com/fe-project/system-design#distributed-cache |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/caching/distributed-cache.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#global-cache |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/caching/global-cache.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#use-cases |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-3 |
| Redis | https://redis.io |
| Memcached | https://memcached.org |
| Amazon Elasticache | https://aws.amazon.com/elasticache |
| Aerospike | https://aerospike.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#content-delivery-network-cdn |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/content-delivery-network/cdn-map.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-use-a-cdn |
| https://patch-diff.githubusercontent.com/fe-project/system-design#how-does-a-cdn-work |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/content-delivery-network/cdn.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#types-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#push-cdns |
| https://patch-diff.githubusercontent.com/fe-project/system-design#pull-cdns |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-4 |
| Amazon CloudFront | https://aws.amazon.com/cloudfront |
| Google Cloud CDN | https://cloud.google.com/cdn |
| Cloudflare CDN | https://www.cloudflare.com/cdn |
| Fastly | https://www.fastly.com/products/cdn |
| https://patch-diff.githubusercontent.com/fe-project/system-design#proxy |
| https://patch-diff.githubusercontent.com/fe-project/system-design#types-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#forward-proxy |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/proxy/forward-proxy.png |
| geo-restricted | https://en.wikipedia.org/wiki/Geo-blocking |
| https://patch-diff.githubusercontent.com/fe-project/system-design#reverse-proxy |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/proxy/reverse-proxy.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#load-balancer-vs-reverse-proxy |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-5 |
| Nginx | https://www.nginx.com |
| HAProxy | http://www.haproxy.org |
| Traefik | https://doc.traefik.io/traefik |
| Envoy | https://www.envoyproxy.io |
| https://patch-diff.githubusercontent.com/fe-project/system-design#availability |
| https://patch-diff.githubusercontent.com/fe-project/system-design#the-nines-of-availability |
| https://patch-diff.githubusercontent.com/fe-project/system-design#availability-in-sequence-vs-parallel |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sequence |
| https://patch-diff.githubusercontent.com/fe-project/system-design#parallel |
| https://patch-diff.githubusercontent.com/fe-project/system-design#availability-vs-reliability |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-availability-vs-fault-tolerance |
| https://patch-diff.githubusercontent.com/fe-project/system-design#scalability |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-I/scalability/scalability.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#vertical-scaling |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#horizontal-scaling |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#storage |
| https://patch-diff.githubusercontent.com/fe-project/system-design#raid |
| https://patch-diff.githubusercontent.com/fe-project/system-design#comparison |
| https://patch-diff.githubusercontent.com/fe-project/system-design#volumes |
| https://patch-diff.githubusercontent.com/fe-project/system-design#file-storage |
| Amazon EFS | https://aws.amazon.com/efs |
| Azure files | https://azure.microsoft.com/en-in/services/storage/files |
| Google Cloud Filestore | https://cloud.google.com/filestore |
| https://patch-diff.githubusercontent.com/fe-project/system-design#block-storage |
| Amazon EBS | https://aws.amazon.com/ebs |
| https://patch-diff.githubusercontent.com/fe-project/system-design#object-storage |
| Amazon S3 | https://aws.amazon.com/s3 |
| Azure Blob Storage | https://azure.microsoft.com/en-in/services/storage/blobs |
| Google Cloud Storage | https://cloud.google.com/storage |
| https://patch-diff.githubusercontent.com/fe-project/system-design#nas |
| https://patch-diff.githubusercontent.com/fe-project/system-design#hdfs |
| https://patch-diff.githubusercontent.com/fe-project/system-design#databases-and-dbms |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-a-database |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-dbms |
| https://patch-diff.githubusercontent.com/fe-project/system-design#components |
| https://patch-diff.githubusercontent.com/fe-project/system-design#schema |
| https://patch-diff.githubusercontent.com/fe-project/system-design#table |
| https://patch-diff.githubusercontent.com/fe-project/system-design#column |
| https://patch-diff.githubusercontent.com/fe-project/system-design#row |
| https://patch-diff.githubusercontent.com/fe-project/system-design#types-5 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/databases-and-dbms/database-types.png |
| SQL | https://karanpratapsingh.com/courses/system-design/sql-databases |
| NoSQL | https://karanpratapsingh.com/courses/system-design/nosql-databases |
| SQL databases | https://karanpratapsingh.com/courses/system-design/sql-databases |
| NoSQL databases | https://karanpratapsingh.com/courses/system-design/nosql-databases |
| SQL vs NoSQL databases | https://karanpratapsingh.com/courses/system-design/sql-vs-nosql-databases |
| https://patch-diff.githubusercontent.com/fe-project/system-design#challenges-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sql-databases |
| ACID consistency model | https://karanpratapsingh.com/courses/system-design/acid-and-base-consistency-models#acid |
| https://patch-diff.githubusercontent.com/fe-project/system-design#materialized-views |
| https://patch-diff.githubusercontent.com/fe-project/system-design#n1-query-problem |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-6 |
| PostgreSQL | https://www.postgresql.org |
| MySQL | https://www.mysql.com |
| MariaDB | https://mariadb.org |
| Amazon Aurora | https://aws.amazon.com/rds/aurora |
| https://patch-diff.githubusercontent.com/fe-project/system-design#nosql-databases |
| BASE consistency model | https://karanpratapsingh.com/courses/system-design/acid-and-base-consistency-models#base |
| https://patch-diff.githubusercontent.com/fe-project/system-design#document |
| MongoDB | https://www.mongodb.com |
| Amazon DocumentDB | https://aws.amazon.com/documentdb |
| CouchDB | https://couchdb.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#key-value |
| Redis | https://redis.io |
| Memcached | https://memcached.org |
| Amazon DynamoDB | https://aws.amazon.com/dynamodb |
| Aerospike | https://aerospike.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#graph |
| Neo4j | https://neo4j.com |
| ArangoDB | https://www.arangodb.com |
| Amazon Neptune | https://aws.amazon.com/neptune |
| JanusGraph | https://janusgraph.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#time-series |
| InfluxDB | https://www.influxdata.com |
| Apache Druid | https://druid.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#wide-column |
| BigTable | https://cloud.google.com/bigtable |
| Apache Cassandra | https://cassandra.apache.org |
| ScyllaDB | https://www.scylladb.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#multi-model |
| ArangoDB | https://www.arangodb.com |
| Azure Cosmos DB | https://azure.microsoft.com/en-in/services/cosmos-db |
| Couchbase | https://www.couchbase.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sql-vs-nosql-databases |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-differences |
| https://patch-diff.githubusercontent.com/fe-project/system-design#storage-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#schema-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#querying |
| https://patch-diff.githubusercontent.com/fe-project/system-design#scalability-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#reliability |
| https://patch-diff.githubusercontent.com/fe-project/system-design#reasons |
| https://patch-diff.githubusercontent.com/fe-project/system-design#database-replication |
| https://patch-diff.githubusercontent.com/fe-project/system-design#master-slave-replication |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/database-replication/master-slave-replication.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-6 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#master-master-replication |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/database-replication/master-master-replication.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-7 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#synchronous-vs-asynchronous-replication |
| https://patch-diff.githubusercontent.com/fe-project/system-design#indexes |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/indexes/indexes.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#dense-index |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/indexes/dense-index.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sparse-index |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/indexes/sparse-index.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#normalization-and-denormalization |
| https://patch-diff.githubusercontent.com/fe-project/system-design#terms |
| https://patch-diff.githubusercontent.com/fe-project/system-design#keys |
| https://patch-diff.githubusercontent.com/fe-project/system-design#dependencies |
| https://patch-diff.githubusercontent.com/fe-project/system-design#anomalies |
| https://patch-diff.githubusercontent.com/fe-project/system-design#normalization |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-normalization |
| https://patch-diff.githubusercontent.com/fe-project/system-design#normal-forms |
| amazing video | https://www.youtube.com/watch?v=GFQaEYEc8_8 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-8 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-6 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#denormalization |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-9 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-7 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#acid-and-base-consistency-models |
| https://patch-diff.githubusercontent.com/fe-project/system-design#acid |
| https://patch-diff.githubusercontent.com/fe-project/system-design#atomic |
| https://patch-diff.githubusercontent.com/fe-project/system-design#consistent |
| https://patch-diff.githubusercontent.com/fe-project/system-design#isolated |
| https://patch-diff.githubusercontent.com/fe-project/system-design#durable |
| https://patch-diff.githubusercontent.com/fe-project/system-design#base |
| https://patch-diff.githubusercontent.com/fe-project/system-design#basic-availability |
| https://patch-diff.githubusercontent.com/fe-project/system-design#soft-state |
| https://patch-diff.githubusercontent.com/fe-project/system-design#eventual-consistency |
| https://patch-diff.githubusercontent.com/fe-project/system-design#acid-vs-base-trade-offs |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cap-theorem |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/cap-theorem/cap-theorem.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#consistency |
| https://patch-diff.githubusercontent.com/fe-project/system-design#availability-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#partition-tolerance |
| https://patch-diff.githubusercontent.com/fe-project/system-design#consistency-availability-tradeoff |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ca-database |
| PostgreSQL | https://www.postgresql.org |
| MariaDB | https://mariadb.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cp-database |
| MongoDB | https://www.mongodb.com |
| Apache HBase | https://hbase.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ap-database |
| Apache Cassandra | https://cassandra.apache.org |
| CouchDB | https://couchdb.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#pacelc-theorem |
| Daniel J. Abadi | https://scholar.google.com/citations?user=zxeEF2gAAAAJ |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/pacelc-theorem/pacelc-theorem.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#transactions |
| https://patch-diff.githubusercontent.com/fe-project/system-design#states |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/transactions/transaction-states.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#active |
| https://patch-diff.githubusercontent.com/fe-project/system-design#partially-committed |
| https://patch-diff.githubusercontent.com/fe-project/system-design#committed |
| https://patch-diff.githubusercontent.com/fe-project/system-design#failed |
| https://patch-diff.githubusercontent.com/fe-project/system-design#aborted |
| https://patch-diff.githubusercontent.com/fe-project/system-design#terminated |
| https://patch-diff.githubusercontent.com/fe-project/system-design#distributed-transactions |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-distributed-transactions |
| https://patch-diff.githubusercontent.com/fe-project/system-design#two-phase-commit |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/distributed-transactions/two-phase-commit.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#phases |
| https://patch-diff.githubusercontent.com/fe-project/system-design#problems |
| https://patch-diff.githubusercontent.com/fe-project/system-design#three-phase-commit |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/distributed-transactions/three-phase-commit.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#phases-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-is-the-pre-commit-phase-helpful |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sagas |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/distributed-transactions/sagas.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#coordination |
| https://patch-diff.githubusercontent.com/fe-project/system-design#problems-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sharding |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-partitioning |
| https://patch-diff.githubusercontent.com/fe-project/system-design#methods |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-sharding |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/sharding/sharding.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#partitioning-criteria |
| https://patch-diff.githubusercontent.com/fe-project/system-design#hash-based |
| https://patch-diff.githubusercontent.com/fe-project/system-design#list-based |
| https://patch-diff.githubusercontent.com/fe-project/system-design#range-based |
| https://patch-diff.githubusercontent.com/fe-project/system-design#composite |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-10 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-8 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#when-to-use-sharding |
| https://patch-diff.githubusercontent.com/fe-project/system-design#consistent-hashing |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-this |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/consistent-hashing/simple-hashing.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#how-does-it-work |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/consistent-hashing/consistent-hashing.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#virtual-nodes |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/consistent-hashing/virtual-nodes.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-replication |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-11 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-9 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-7 |
| Apache Cassandra | https://cassandra.apache.org |
| Amazon DynamoDB | https://aws.amazon.com/dynamodb |
| https://patch-diff.githubusercontent.com/fe-project/system-design#database-federation |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-II/database-federation/database-federation.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#characteristics |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-12 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-10 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#n-tier-architecture |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/n-tier-architecture/n-tier-architecture.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#types-of-n-tier-architectures |
| https://patch-diff.githubusercontent.com/fe-project/system-design#3-tier-architecture |
| https://patch-diff.githubusercontent.com/fe-project/system-design#2-tier-architecture |
| https://patch-diff.githubusercontent.com/fe-project/system-design#single-tier-or-1-tier-architecture |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-13 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-11 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#message-brokers |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/message-brokers/message-broker.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#models |
| Point-to-Point messaging | https://karanpratapsingh.com/courses/system-design/message-queues |
| Publish-subscribe messaging | https://karanpratapsingh.com/courses/system-design/publish-subscribe |
| https://patch-diff.githubusercontent.com/fe-project/system-design#message-brokers-vs-event-streaming |
| https://patch-diff.githubusercontent.com/fe-project/system-design#message-brokers-vs-enterprise-service-bus-esb |
| Enterprise Service Bus (ESB) | https://karanpratapsingh.com/courses/system-design/enterprise-service-bus |
| microservices architectures | https://karanpratapsingh.com/courses/system-design/monoliths-microservices#microservices |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-8 |
| NATS | https://nats.io |
| Apache Kafka | https://kafka.apache.org |
| RabbitMQ | https://www.rabbitmq.com |
| ActiveMQ | https://activemq.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#message-queues |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/message-queues/message-queue.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#working |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-14 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#features-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#push-or-pull-delivery |
| https://patch-diff.githubusercontent.com/fe-project/system-design#fifo-first-in-first-out-queues |
| https://patch-diff.githubusercontent.com/fe-project/system-design#schedule-or-delay-delivery |
| https://patch-diff.githubusercontent.com/fe-project/system-design#at-least-once-delivery |
| https://patch-diff.githubusercontent.com/fe-project/system-design#exactly-once-delivery |
| https://patch-diff.githubusercontent.com/fe-project/system-design#dead-letter-queues |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ordering |
| https://patch-diff.githubusercontent.com/fe-project/system-design#poison-pill-messages |
| https://patch-diff.githubusercontent.com/fe-project/system-design#security |
| https://patch-diff.githubusercontent.com/fe-project/system-design#task-queues |
| https://patch-diff.githubusercontent.com/fe-project/system-design#backpressure |
| exponential backoff | https://en.wikipedia.org/wiki/Exponential_backoff |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-9 |
| Amazon SQS | https://aws.amazon.com/sqs |
| RabbitMQ | https://www.rabbitmq.com |
| ActiveMQ | https://activemq.apache.org |
| ZeroMQ | https://zeromq.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#publish-subscribe |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/publish-subscribe/publish-subscribe.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#working-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-15 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#features-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#push-delivery |
| https://patch-diff.githubusercontent.com/fe-project/system-design#multiple-delivery-protocols |
| https://patch-diff.githubusercontent.com/fe-project/system-design#fanout |
| https://patch-diff.githubusercontent.com/fe-project/system-design#filtering |
| https://patch-diff.githubusercontent.com/fe-project/system-design#durability |
| https://patch-diff.githubusercontent.com/fe-project/system-design#security-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-10 |
| Amazon SNS | https://aws.amazon.com/sns |
| Google Pub/Sub | https://cloud.google.com/pubsub |
| https://patch-diff.githubusercontent.com/fe-project/system-design#enterprise-service-bus-esb |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/enterprise-service-bus/enterprise-service-bus.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-16 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-12 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-11 |
| Azure Service Bus | https://azure.microsoft.com/en-in/services/service-bus |
| IBM App Connect | https://www.ibm.com/in-en/cloud/app-connect |
| Apache Camel | https://camel.apache.org |
| Fuse ESB | https://www.redhat.com/en/technologies/jboss-middleware/fuse |
| https://patch-diff.githubusercontent.com/fe-project/system-design#monoliths-and-microservices |
| https://patch-diff.githubusercontent.com/fe-project/system-design#monoliths |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/monoliths-microservices/monolith.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-17 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-13 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#modular-monoliths |
| https://patch-diff.githubusercontent.com/fe-project/system-design#microservices |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/monoliths-microservices/microservices.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#characteristics-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-18 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-14 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#best-practices |
| circuit breaker | https://karanpratapsingh.com/courses/system-design/circuit-breaker |
| https://patch-diff.githubusercontent.com/fe-project/system-design#pitfalls |
| ACID instead of BASE | https://karanpratapsingh.com/courses/system-design/acid-and-base-consistency-models |
| https://patch-diff.githubusercontent.com/fe-project/system-design#beware-of-the-distributed-monolith |
| https://patch-diff.githubusercontent.com/fe-project/system-design#microservices-vs-service-oriented-architecture-soa |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-you-dont-need-microservices |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/monoliths-microservices/architecture-range.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#event-driven-architecture-eda |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-an-event |
| https://patch-diff.githubusercontent.com/fe-project/system-design#components-1 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/event-driven-architecture/event-driven-architecture.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#patterns |
| Sagas | https://karanpratapsingh.com/courses/system-design/distributed-transactions#sagas |
| Publish-Subscribe | https://karanpratapsingh.com/courses/system-design/publish-subscribe |
| Event Sourcing | https://karanpratapsingh.com/courses/system-design/event-sourcing |
| Command and Query Responsibility Segregation (CQRS) | https://karanpratapsingh.com/courses/system-design/command-and-query-responsibility-segregation |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-19 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#challenges-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#use-cases-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-12 |
| NATS | https://nats.io |
| Apache Kafka | https://kafka.apache.org |
| Amazon EventBridge | https://aws.amazon.com/eventbridge |
| Amazon SNS | https://aws.amazon.com/sns |
| Google PubSub | https://cloud.google.com/pubsub |
| https://patch-diff.githubusercontent.com/fe-project/system-design#event-sourcing |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/event-sourcing/event-sourcing.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#event-sourcing-vs-event-driven-architecture-eda |
| Event-driven Architecture (EDA) | https://karanpratapsingh.com/courses/system-design/event-driven-architecture |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-20 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-15 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#command-and-query-responsibility-segregation-cqrs |
| Greg Young | https://twitter.com/gregyoung |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/command-and-query-responsibility-segregation/command-and-query-responsibility-segregation.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cqrs-with-event-sourcing |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-21 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-16 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#use-cases-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#api-gateway |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/api-gateway/api-gateway.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-an-api-gateway |
| https://patch-diff.githubusercontent.com/fe-project/system-design#features-3 |
| Service discovery | https://karanpratapsingh.com/courses/system-design/service-discovery |
| Reverse Proxy | https://karanpratapsingh.com/courses/system-design/proxy#reverse-proxy |
| Caching | https://karanpratapsingh.com/courses/system-design/caching |
| Circuit breaking | https://karanpratapsingh.com/courses/system-design/circuit-breaker |
| Load balancing | https://karanpratapsingh.com/courses/system-design/load-balancing |
| Rate limiting | https://karanpratapsingh.com/courses/system-design/rate-limiting |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-22 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-17 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#backend-for-frontend-bff-pattern |
| Sam Newman | https://samnewman.io |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/api-gateway/backend-for-frontend.png |
| GraphQL | https://karanpratapsingh.com/courses/system-design/rest-graphql-grpc#graphql |
| https://patch-diff.githubusercontent.com/fe-project/system-design#when-to-use-this-pattern |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-13 |
| Amazon API Gateway | https://aws.amazon.com/api-gateway |
| Apigee API Gateway | https://cloud.google.com/apigee |
| Azure API Gateway | https://azure.microsoft.com/en-in/services/api-management |
| Kong API Gateway | https://konghq.com/kong |
| https://patch-diff.githubusercontent.com/fe-project/system-design#rest-graphql-grpc |
| https://patch-diff.githubusercontent.com/fe-project/system-design#whats-an-api |
| https://patch-diff.githubusercontent.com/fe-project/system-design#rest |
| REST API | https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm |
| Roy Fielding | https://roy.gbiv.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#concepts |
| HTTP response status codes | https://en.wikipedia.org/wiki/List_of_HTTP_status_codes |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-23 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-18 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#use-cases-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#example |
| Hypermedia as the Engine of Application State (HATEOAS) | https://en.wikipedia.org/wiki/HATEOAS |
| https://patch-diff.githubusercontent.com/fe-project/system-design#graphql |
| GraphQL | https://graphql.org |
| Facebook | https://engineering.fb.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#concepts-1 |
| mutation | https://graphql.org/learn/queries/#mutations |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-24 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-19 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#use-cases-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#example-1 |
| graphql.org | https://graphql.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#grpc |
| gRPC | https://grpc.io |
| Remote Procedure Call (RPC) | https://en.wikipedia.org/wiki/Remote_procedure_call |
| https://patch-diff.githubusercontent.com/fe-project/system-design#concepts-2 |
| Interface Definition Language (IDL) | https://en.wikipedia.org/wiki/Interface_description_language |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-25 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-20 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#use-cases-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#example-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#rest-vs-graphql-vs-grpc |
| https://patch-diff.githubusercontent.com/fe-project/system-design#which-api-technology-is-better |
| https://patch-diff.githubusercontent.com/fe-project/system-design#long-polling-websockets-server-sent-events-sse |
| https://patch-diff.githubusercontent.com/fe-project/system-design#long-polling |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/long-polling-websockets-server-sent-events/long-polling.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#working-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-26 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-21 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#websockets |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/long-polling-websockets-server-sent-events/websockets.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#working-3 |
| HTTP Upgrade | https://en.wikipedia.org/wiki/HTTP/1.1_Upgrade_header |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-27 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-22 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#server-sent-events-sse |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-III/long-polling-websockets-server-sent-events/server-sent-events.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#working-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-28 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-23 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#geohashing-and-quadtrees |
| https://patch-diff.githubusercontent.com/fe-project/system-design#geohashing |
| geocoding | https://en.wikipedia.org/wiki/Address_geocoding |
| Gustavo Niemeyer | https://twitter.com/gniemeyer |
| https://patch-diff.githubusercontent.com/fe-project/system-design#how-does-geohashing-work |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/geohashing-and-quadtrees/geohashing.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#use-cases-6 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-14 |
| MySQL | https://www.mysql.com |
| Redis | http://redis.io |
| Amazon DynamoDB | https://aws.amazon.com/dynamodb |
| Google Cloud Firestore | https://cloud.google.com/firestore |
| https://patch-diff.githubusercontent.com/fe-project/system-design#quadtrees |
| Octrees | https://en.wikipedia.org/wiki/Octree |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/geohashing-and-quadtrees/quadtree.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#types-of-quadtrees |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-quadtrees |
| euclidean distance | https://en.wikipedia.org/wiki/Euclidean_distance |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/geohashing-and-quadtrees/quadtree-subdivision.png |
| Hilbert curve | https://en.wikipedia.org/wiki/Hilbert_curve |
| https://patch-diff.githubusercontent.com/fe-project/system-design#use-cases-7 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#circuit-breaker |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/circuit-breaker/circuit-breaker.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-circuit-breaking |
| https://patch-diff.githubusercontent.com/fe-project/system-design#states-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#closed |
| https://patch-diff.githubusercontent.com/fe-project/system-design#open |
| https://patch-diff.githubusercontent.com/fe-project/system-design#half-open |
| https://patch-diff.githubusercontent.com/fe-project/system-design#rate-limiting |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/rate-limiting/rate-limiting.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-rate-limiting |
| https://patch-diff.githubusercontent.com/fe-project/system-design#algorithms |
| https://patch-diff.githubusercontent.com/fe-project/system-design#leaky-bucket |
| https://patch-diff.githubusercontent.com/fe-project/system-design#token-bucket |
| https://patch-diff.githubusercontent.com/fe-project/system-design#fixed-window |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sliding-log |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sliding-window |
| https://patch-diff.githubusercontent.com/fe-project/system-design#rate-limiting-in-distributed-systems |
| https://patch-diff.githubusercontent.com/fe-project/system-design#inconsistencies |
| Redis | https://redis.io |
| https://patch-diff.githubusercontent.com/fe-project/system-design#race-conditions |
| https://patch-diff.githubusercontent.com/fe-project/system-design#service-discovery |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-service-discovery |
| https://patch-diff.githubusercontent.com/fe-project/system-design#implementations |
| https://patch-diff.githubusercontent.com/fe-project/system-design#client-side-discovery |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/service-discovery/client-side-service-discovery.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#server-side-discovery |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/service-discovery/server-side-service-discovery.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#service-registry |
| https://patch-diff.githubusercontent.com/fe-project/system-design#service-registration |
| https://patch-diff.githubusercontent.com/fe-project/system-design#self-registration |
| https://patch-diff.githubusercontent.com/fe-project/system-design#third-party-registration |
| https://patch-diff.githubusercontent.com/fe-project/system-design#service-mesh |
| Istio | https://istio.io/latest/about/service-mesh |
| envoy | https://www.envoyproxy.io |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-15 |
| etcd | https://etcd.io |
| Consul | https://www.consul.io |
| Apache Thrift | https://thrift.apache.org |
| Apache Zookeeper | https://zookeeper.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sla-slo-sli |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-are-they-important |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sla |
| https://patch-diff.githubusercontent.com/fe-project/system-design#slo |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sli |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disaster-recovery |
| AWS Well-Architected Framework | https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/plan-for-disaster-recovery-dr.html |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-is-disaster-recovery-important |
| https://patch-diff.githubusercontent.com/fe-project/system-design#terms-1 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/disaster-recovery/disaster-recovery.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#rto |
| https://patch-diff.githubusercontent.com/fe-project/system-design#rpo |
| https://patch-diff.githubusercontent.com/fe-project/system-design#strategies |
| https://patch-diff.githubusercontent.com/fe-project/system-design#back-up |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cold-site |
| https://patch-diff.githubusercontent.com/fe-project/system-design#hot-site |
| https://patch-diff.githubusercontent.com/fe-project/system-design#virtual-machines-vms-and-containers |
| https://patch-diff.githubusercontent.com/fe-project/system-design#virtual-machines-vm |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-a-hypervisor |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-use-a-virtual-machine |
| https://patch-diff.githubusercontent.com/fe-project/system-design#containers |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-containers |
| https://patch-diff.githubusercontent.com/fe-project/system-design#virtualization-vs-containerization |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/virtual-machines-and-containers/virtualization-vs-containerization.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#oauth-20-and-openid-connect-oidc |
| https://patch-diff.githubusercontent.com/fe-project/system-design#oauth-20 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#concepts-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#how-does-oauth-20-work |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/oauth2-and-openid-connect/oauth2.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-24 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#openid-connect |
| https://patch-diff.githubusercontent.com/fe-project/system-design#concepts-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#single-sign-on-sso |
| https://patch-diff.githubusercontent.com/fe-project/system-design#components-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#identity-provider-idp |
| https://patch-diff.githubusercontent.com/fe-project/system-design#service-provider |
| https://patch-diff.githubusercontent.com/fe-project/system-design#identity-broker |
| https://patch-diff.githubusercontent.com/fe-project/system-design#saml |
| https://patch-diff.githubusercontent.com/fe-project/system-design#how-does-sso-work |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/single-sign-on/sso.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#saml-vs-oauth-20-and-openid-connect-oidc |
| https://patch-diff.githubusercontent.com/fe-project/system-design#advantages-29 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#disadvantages-25 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#examples-16 |
| Okta | https://www.okta.com |
| Google | https://cloud.google.com/architecture/identity/single-sign-on |
| Auth0 | https://auth0.com |
| OneLogin | https://www.onelogin.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ssl-tls-mtls |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ssl |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-is-it-called-an-ssl-certificate-if-it-is-deprecated |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-was-ssl-so-important |
| https://patch-diff.githubusercontent.com/fe-project/system-design#tls |
| https://patch-diff.githubusercontent.com/fe-project/system-design#mtls |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-use-mtls |
| zero trust security model | https://en.wikipedia.org/wiki/Zero_trust_security_model |
| https://patch-diff.githubusercontent.com/fe-project/system-design#system-design-interviews |
| https://patch-diff.githubusercontent.com/fe-project/system-design#requirements-clarifications |
| https://patch-diff.githubusercontent.com/fe-project/system-design#functional-requirements |
| https://patch-diff.githubusercontent.com/fe-project/system-design#non-functional-requirements |
| https://patch-diff.githubusercontent.com/fe-project/system-design#extended-requirements |
| https://patch-diff.githubusercontent.com/fe-project/system-design#estimation-and-constraints |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-model-design |
| https://patch-diff.githubusercontent.com/fe-project/system-design#api-design |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-component-design |
| https://patch-diff.githubusercontent.com/fe-project/system-design#detailed-design |
| https://patch-diff.githubusercontent.com/fe-project/system-design#identify-and-resolve-bottlenecks |
| https://patch-diff.githubusercontent.com/fe-project/system-design#url-shortener |
| Bitly | https://bitly.com |
| TinyURL | https://tinyurl.com/app |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-a-url-shortener |
| https://karanpratapsingh.com/courses/system-design/url-shortener | https://karanpratapsingh.com/courses/system-design/url-shortener |
| https://bit.ly/3I71d3o | https://bit.ly/3I71d3o |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-a-url-shortener |
| https://patch-diff.githubusercontent.com/fe-project/system-design#requirements |
| https://patch-diff.githubusercontent.com/fe-project/system-design#functional-requirements-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#non-functional-requirements-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#extended-requirements-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#estimation-and-constraints-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#traffic |
| https://patch-diff.githubusercontent.com/fe-project/system-design#bandwidth |
| https://patch-diff.githubusercontent.com/fe-project/system-design#storage-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cache |
| Pareto principle | https://en.wikipedia.org/wiki/Pareto_principle |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-estimate |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-model-design-1 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/url-shortener/url-shortener-datamodel.png |
| index | https://karanpratapsingh.com/courses/system-design/indexes |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-kind-of-database-should-we-use |
| Amazon DynamoDB | https://aws.amazon.com/dynamodb |
| Apache Cassandra | https://cassandra.apache.org/_/index.html |
| MongoDB | https://www.mongodb.com |
| Azure SQL Database | https://azure.microsoft.com/en-in/products/azure-sql/database |
| Amazon RDS | https://aws.amazon.com/rds |
| SQL vs NoSQL | https://karanpratapsingh.com/courses/system-design/sql-vs-nosql-databases |
| https://patch-diff.githubusercontent.com/fe-project/system-design#api-design-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#create-url |
| https://patch-diff.githubusercontent.com/fe-project/system-design#get-url |
| https://patch-diff.githubusercontent.com/fe-project/system-design#delete-url |
| https://patch-diff.githubusercontent.com/fe-project/system-design#why-do-we-need-an-api-key |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-design |
| https://patch-diff.githubusercontent.com/fe-project/system-design#url-encoding |
| Base62 | https://en.wikipedia.org/wiki/Base62 |
| MD5 message-digest algorithm | https://en.wikipedia.org/wiki/MD5 |
| Zookeeper | https://zookeeper.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#key-generation-service-kgs |
| https://patch-diff.githubusercontent.com/fe-project/system-design#caching-1 |
| caching | https://karanpratapsingh.com/courses/system-design/caching |
| Redis | https://redis.io |
| Memcached | https://memcached.org |
| caching | https://karanpratapsingh.com/courses/system-design/caching |
| https://patch-diff.githubusercontent.com/fe-project/system-design#design |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/url-shortener/url-shortener-basic-design.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#detailed-design-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-partitioning-1 |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| Consistent hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| Consistent Hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| https://patch-diff.githubusercontent.com/fe-project/system-design#database-cleanup |
| cron job | https://en.wikipedia.org/wiki/Cron |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cache-1 |
| caching | https://karanpratapsingh.com/courses/system-design/caching |
| Redis | https://redis.io |
| Memcached | https://memcached.org |
| Least Recently Used (LRU) | https://en.wikipedia.org/wiki/Cache_replacement_policies#Least_recently_used_(LRU) |
| https://patch-diff.githubusercontent.com/fe-project/system-design#metrics-and-analytics |
| https://patch-diff.githubusercontent.com/fe-project/system-design#security-2 |
| API Gateway | https://karanpratapsingh.com/courses/system-design/api-gateway |
| https://patch-diff.githubusercontent.com/fe-project/system-design#identify-and-resolve-bottlenecks-1 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/url-shortener/url-shortener-advanced-design.png |
| load balancers | https://karanpratapsingh.com/courses/system-design/load-balancing |
| https://patch-diff.githubusercontent.com/fe-project/system-design#whatsapp |
| WhatsApp | https://whatsapp.com |
| WhatsApp | https://www.whatsapp.com |
| Facebook Messenger | https://www.messenger.com |
| WeChat | https://www.wechat.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-whatsapp |
| https://patch-diff.githubusercontent.com/fe-project/system-design#requirements-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#functional-requirements-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#non-functional-requirements-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#extended-requirements-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#estimation-and-constraints-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#traffic-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#storage-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#bandwidth-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-estimate-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-model-design-2 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/whatsapp/whatsapp-datamodel.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-kind-of-database-should-we-use-1 |
| PostgreSQL | https://www.postgresql.org |
| Apache Cassandra | https://cassandra.apache.org/_/index.html |
| https://patch-diff.githubusercontent.com/fe-project/system-design#api-design-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#get-all-chats-or-groups |
| https://patch-diff.githubusercontent.com/fe-project/system-design#get-messages |
| https://patch-diff.githubusercontent.com/fe-project/system-design#send-message |
| https://patch-diff.githubusercontent.com/fe-project/system-design#join-or-leave-a-group |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-design-1 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#architecture |
| microservices architecture | https://karanpratapsingh.com/courses/system-design/monoliths-microservices#microservices |
| gRPC | https://karanpratapsingh.com/courses/system-design/rest-graphql-grpc#grpc |
| Service discovery | https://karanpratapsingh.com/courses/system-design/service-discovery |
| REST, GraphQL, gRPC | https://karanpratapsingh.com/courses/system-design/rest-graphql-grpc |
| https://patch-diff.githubusercontent.com/fe-project/system-design#real-time-messaging |
| Long polling | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#long-polling |
| WebSockets | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#websockets |
| Server-Sent Events (SSE) | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#server-sent-events-sse |
| WebSockets | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#websockets |
| Server-Sent Events (SSE) | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#server-sent-events-sse |
| Long polling, WebSockets, Server-Sent Events (SSE) | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events |
| https://patch-diff.githubusercontent.com/fe-project/system-design#last-seen |
| heartbeat | https://en.wikipedia.org/wiki/Heartbeat_(computing) |
| Redis | https://redis.io |
| Memcached | https://memcached.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#notifications |
| message queue | https://karanpratapsingh.com/courses/system-design/message-queues |
| Firebase Cloud Messaging (FCM) | https://firebase.google.com/docs/cloud-messaging |
| Apple Push Notification Service (APNS) | https://developer.apple.com/documentation/usernotifications |
| publish-subscribe | https://karanpratapsingh.com/courses/system-design/publish-subscribe |
| Amazon SQS | https://aws.amazon.com/sqs |
| RabbitMQ | https://www.rabbitmq.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#read-receipts |
| Acknowledgment (ACK) | https://en.wikipedia.org/wiki/Acknowledgement_(data_networks) |
| https://patch-diff.githubusercontent.com/fe-project/system-design#design-1 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/whatsapp/whatsapp-basic-design.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#detailed-design-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-partitioning-2 |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| Consistent hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| Consistent Hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| https://patch-diff.githubusercontent.com/fe-project/system-design#caching-2 |
| Redis | https://redis.io |
| Memcached | https://memcached.org |
| Least Recently Used (LRU) | https://en.wikipedia.org/wiki/Cache_replacement_policies#Least_recently_used_(LRU) |
| Caching | https://karanpratapsingh.com/courses/system-design/caching |
| https://patch-diff.githubusercontent.com/fe-project/system-design#media-access-and-storage |
| object storage | https://karanpratapsingh.com/courses/system-design/storage#object-storage |
| HDFS | https://karanpratapsingh.com/courses/system-design/storage#hdfs |
| GlusterFS | https://www.gluster.org |
| Amazon S3 | https://aws.amazon.com/s3 |
| Azure Blob Storage | https://azure.microsoft.com/en-in/services/storage/blobs |
| Google Cloud Storage | https://cloud.google.com/storage |
| https://patch-diff.githubusercontent.com/fe-project/system-design#content-delivery-network-cdn-1 |
| Content Delivery Network (CDN) | https://karanpratapsingh.com/courses/system-design/content-delivery-network |
| Amazon CloudFront | https://aws.amazon.com/cloudfront |
| Cloudflare CDN | https://www.cloudflare.com/cdn |
| https://patch-diff.githubusercontent.com/fe-project/system-design#api-gateway-1 |
| API Gateway | https://karanpratapsingh.com/courses/system-design/api-gateway |
| Amazon API Gateway | https://aws.amazon.com/api-gateway |
| Azure API Gateway | https://azure.microsoft.com/en-in/services/api-management |
| https://patch-diff.githubusercontent.com/fe-project/system-design#identify-and-resolve-bottlenecks-2 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/whatsapp/whatsapp-advanced-design.png |
| load balancers | https://karanpratapsingh.com/courses/system-design/load-balancing |
| message broker | https://karanpratapsingh.com/courses/system-design/message-brokers |
| Apache Kafka | https://kafka.apache.org |
| NATS | https://nats.io |
| https://patch-diff.githubusercontent.com/fe-project/system-design#twitter |
| Twitter | https://twitter.com |
| Facebook | https://facebook.com |
| Instagram | https://instagram.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-twitter |
| https://patch-diff.githubusercontent.com/fe-project/system-design#requirements-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#functional-requirements-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#non-functional-requirements-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#extended-requirements-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#estimation-and-constraints-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#traffic-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#storage-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#bandwidth-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-estimate-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-model-design-3 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/twitter/twitter-datamodel.png |
| followees | https://en.wiktionary.org/wiki/followee |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-kind-of-database-should-we-use-2 |
| PostgreSQL | https://www.postgresql.org |
| Apache Cassandra | https://cassandra.apache.org/_/index.html |
| https://patch-diff.githubusercontent.com/fe-project/system-design#api-design-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#post-a-tweet |
| https://patch-diff.githubusercontent.com/fe-project/system-design#follow-or-unfollow-a-user |
| https://patch-diff.githubusercontent.com/fe-project/system-design#get-newsfeed |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-design-2 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#architecture-1 |
| microservices architecture | https://karanpratapsingh.com/courses/system-design/monoliths-microservices#microservices |
| gRPC | https://karanpratapsingh.com/courses/system-design/rest-graphql-grpc#grpc |
| Service discovery | https://karanpratapsingh.com/courses/system-design/service-discovery |
| REST, GraphQL, gRPC | https://karanpratapsingh.com/courses/system-design/rest-graphql-grpc |
| https://patch-diff.githubusercontent.com/fe-project/system-design#newsfeed |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/twitter/newsfeed-pull-model.png |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/twitter/newsfeed-push-model.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ranking-algorithm |
| EdgeRank | https://en.wikipedia.org/wiki/EdgeRank |
| https://patch-diff.githubusercontent.com/fe-project/system-design#retweets |
| https://patch-diff.githubusercontent.com/fe-project/system-design#search |
| Elasticsearch | https://www.elastic.co |
| Elasticsearch | https://www.elastic.co |
| Apache Lucene | https://lucene.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#notifications-1 |
| Apache Kafka | https://kafka.apache.org |
| Firebase Cloud Messaging (FCM) | https://firebase.google.com/docs/cloud-messaging |
| Apple Push Notification Service (APNS) | https://developer.apple.com/documentation/usernotifications |
| WhatsApp | https://karanpratapsingh.com/courses/system-design/whatsapp#notifications |
| https://patch-diff.githubusercontent.com/fe-project/system-design#detailed-design-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-partitioning-3 |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| Consistent hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| Consistent Hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| https://patch-diff.githubusercontent.com/fe-project/system-design#mutual-friends |
| Neo4j | https://neo4j.com |
| ArangoDB | https://www.arangodb.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#metrics-and-analytics-1 |
| Apache Kafka | https://kafka.apache.org |
| Apache Spark | https://spark.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#caching-3 |
| Redis | https://redis.io |
| Memcached | https://memcached.org |
| Least Recently Used (LRU) | https://en.wikipedia.org/wiki/Cache_replacement_policies#Least_recently_used_(LRU) |
| Caching | https://karanpratapsingh.com/courses/system-design/caching |
| https://patch-diff.githubusercontent.com/fe-project/system-design#media-access-and-storage-1 |
| object storage | https://karanpratapsingh.com/courses/system-design/storage#object-storage |
| HDFS | https://karanpratapsingh.com/courses/system-design/storage#hdfs |
| GlusterFS | https://www.gluster.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#content-delivery-network-cdn-2 |
| Content Delivery Network (CDN) | https://karanpratapsingh.com/courses/system-design/content-delivery-network |
| Amazon CloudFront | https://aws.amazon.com/cloudfront |
| Cloudflare CDN | https://www.cloudflare.com/cdn |
| https://patch-diff.githubusercontent.com/fe-project/system-design#identify-and-resolve-bottlenecks-3 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/twitter/twitter-advanced-design.png |
| load balancers | https://karanpratapsingh.com/courses/system-design/load-balancing |
| message broker | https://karanpratapsingh.com/courses/system-design/message-brokers |
| Apache Kafka | https://kafka.apache.org |
| NATS | https://nats.io |
| https://patch-diff.githubusercontent.com/fe-project/system-design#netflix |
| Netflix | https://netflix.com |
| Amazon Prime Video | https://www.primevideo.com |
| Disney Plus | https://www.disneyplus.com |
| Hulu | https://www.hulu.com |
| Youtube | https://youtube.com |
| Vimeo | https://vimeo.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-netflix |
| https://patch-diff.githubusercontent.com/fe-project/system-design#requirements-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#functional-requirements-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#non-functional-requirements-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#extended-requirements-4 |
| geo-blocked | https://en.wikipedia.org/wiki/Geo-blocking |
| https://patch-diff.githubusercontent.com/fe-project/system-design#estimation-and-constraints-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#traffic-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#storage-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#bandwidth-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-estimate-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-model-design-4 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/netflix/netflix-datamodel.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-kind-of-database-should-we-use-3 |
| PostgreSQL | https://www.postgresql.org |
| Apache Cassandra | https://cassandra.apache.org/_/index.html |
| https://patch-diff.githubusercontent.com/fe-project/system-design#api-design-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#upload-a-video |
| https://patch-diff.githubusercontent.com/fe-project/system-design#streaming-a-video |
| codec | https://en.wikipedia.org/wiki/Video_codec |
| Resolution | https://en.wikipedia.org/wiki/Display_resolution |
| https://patch-diff.githubusercontent.com/fe-project/system-design#search-for-a-video |
| https://patch-diff.githubusercontent.com/fe-project/system-design#add-a-comment |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-design-3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#architecture-2 |
| microservices architecture | https://karanpratapsingh.com/courses/system-design/monoliths-microservices#microservices |
| gRPC | https://karanpratapsingh.com/courses/system-design/rest-graphql-grpc#grpc |
| Service discovery | https://karanpratapsingh.com/courses/system-design/service-discovery |
| REST, GraphQL, gRPC | https://karanpratapsingh.com/courses/system-design/rest-graphql-grpc |
| https://patch-diff.githubusercontent.com/fe-project/system-design#video-processing |
| message queue | https://karanpratapsingh.com/courses/system-design/message-queues |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/netflix/video-processing-pipeline.png |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/netflix/file-chunking.png |
| content rating | https://en.wikipedia.org/wiki/Motion_picture_content_rating_system |
| dead-letter queue (DLQ) | https://karanpratapsingh.com/courses/system-design/message-queues#dead-letter-queues |
| Transcoding | https://en.wikipedia.org/wiki/Transcoding |
| codecs | https://en.wikipedia.org/wiki/Video_codec |
| FFmpeg | https://ffmpeg.org |
| AWS Elemental MediaConvert | https://aws.amazon.com/mediaconvert |
| HDFS | https://karanpratapsingh.com/courses/system-design/storage#hdfs |
| GlusterFS | https://www.gluster.org |
| object storage | https://karanpratapsingh.com/courses/system-design/storage#object-storage |
| Amazon S3 | https://aws.amazon.com/s3 |
| message queue | https://karanpratapsingh.com/courses/system-design/message-queues |
| Amazon SQS | https://aws.amazon.com/sqs |
| RabbitMQ | https://www.rabbitmq.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#video-streaming |
| Content Delivery Network (CDN) | https://karanpratapsingh.com/courses/system-design/content-delivery-network |
| Open Connect | https://openconnect.netflix.com |
| Content Delivery Network (CDN) | https://karanpratapsingh.com/courses/system-design/content-delivery-network |
| Adaptive bitrate streaming | https://en.wikipedia.org/wiki/Adaptive_bitrate_streaming |
| HTTP Live Streaming (HLS) | https://en.wikipedia.org/wiki/HTTP_Live_Streaming |
| https://patch-diff.githubusercontent.com/fe-project/system-design#searching |
| Elasticsearch | https://www.elastic.co |
| Elasticsearch | https://www.elastic.co |
| Apache Lucene | https://lucene.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#sharing |
| URL Shortener | https://karanpratapsingh.com/courses/system-design/url-shortener |
| https://patch-diff.githubusercontent.com/fe-project/system-design#detailed-design-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-partitioning-4 |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| Consistent hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| Consistent Hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| https://patch-diff.githubusercontent.com/fe-project/system-design#geo-blocking |
| Geo-blocking | https://en.wikipedia.org/wiki/Geo-blocking |
| IP | https://karanpratapsingh.com/courses/system-design/ip |
| Amazon CloudFront | https://aws.amazon.com/cloudfront |
| geolocation routing policy | https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geo.html |
| Amazon Route53 | https://aws.amazon.com/route53 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#recommendations |
| Collaborative Filtering | https://en.wikipedia.org/wiki/Collaborative_filtering |
| Netflix recommendation research | https://research.netflix.com/research-area/recommendations |
| https://patch-diff.githubusercontent.com/fe-project/system-design#metrics-and-analytics-2 |
| Apache Spark | https://spark.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#caching-4 |
| Redis | https://redis.io |
| Memcached | https://memcached.org |
| Least Recently Used (LRU) | https://en.wikipedia.org/wiki/Cache_replacement_policies#Least_recently_used_(LRU) |
| Caching | https://karanpratapsingh.com/courses/system-design/caching |
| https://patch-diff.githubusercontent.com/fe-project/system-design#media-streaming-and-storage |
| HDFS | https://karanpratapsingh.com/courses/system-design/storage#hdfs |
| GlusterFS | https://www.gluster.org |
| object storage | https://karanpratapsingh.com/courses/system-design/storage#object-storage |
| Amazon S3 | https://aws.amazon.com/s3 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#content-delivery-network-cdn-3 |
| Content Delivery Network (CDN) | https://karanpratapsingh.com/courses/system-design/content-delivery-network |
| Amazon CloudFront | https://aws.amazon.com/cloudfront |
| Cloudflare CDN | https://www.cloudflare.com/cdn |
| https://patch-diff.githubusercontent.com/fe-project/system-design#identify-and-resolve-bottlenecks-4 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/netflix/netflix-advanced-design.png |
| load balancers | https://karanpratapsingh.com/courses/system-design/load-balancing |
| https://patch-diff.githubusercontent.com/fe-project/system-design#uber |
| Uber | https://uber.com |
| Lyft | https://www.lyft.com |
| OLA Cabs | https://www.olacabs.com |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-is-uber |
| https://patch-diff.githubusercontent.com/fe-project/system-design#requirements-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#functional-requirements-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#non-functional-requirements-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#extended-requirements-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#estimation-and-constraints-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#traffic-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#storage-6 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#bandwidth-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-estimate-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-model-design-5 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/uber/uber-datamodel.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#what-kind-of-database-should-we-use-4 |
| PostgreSQL | https://www.postgresql.org |
| Apache Cassandra | https://cassandra.apache.org/_/index.html |
| https://patch-diff.githubusercontent.com/fe-project/system-design#api-design-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#request-a-ride |
| https://patch-diff.githubusercontent.com/fe-project/system-design#cancel-the-ride |
| https://patch-diff.githubusercontent.com/fe-project/system-design#accept-or-deny-the-ride |
| https://patch-diff.githubusercontent.com/fe-project/system-design#start-or-end-the-trip |
| https://patch-diff.githubusercontent.com/fe-project/system-design#rate-the-trip |
| https://patch-diff.githubusercontent.com/fe-project/system-design#high-level-design-4 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#architecture-3 |
| microservices architecture | https://karanpratapsingh.com/courses/system-design/monoliths-microservices#microservices |
| gRPC | https://karanpratapsingh.com/courses/system-design/rest-graphql-grpc#grpc |
| Service discovery | https://karanpratapsingh.com/courses/system-design/service-discovery |
| REST, GraphQL, gRPC | https://karanpratapsingh.com/courses/system-design/rest-graphql-grpc |
| https://patch-diff.githubusercontent.com/fe-project/system-design#how-is-the-service-expected-to-work |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/uber/uber-working.png |
| https://patch-diff.githubusercontent.com/fe-project/system-design#location-tracking |
| Long polling | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#long-polling |
| WebSockets | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#websockets |
| Server-Sent Events (SSE) | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#server-sent-events-sse |
| WebSockets | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#websockets |
| Server-Sent Events (SSE) | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events#server-sent-events-sse |
| Long polling, WebSockets, Server-Sent Events (SSE) | https://karanpratapsingh.com/courses/system-design/long-polling-websockets-server-sent-events |
| https://patch-diff.githubusercontent.com/fe-project/system-design#ride-matching |
| PostgreSQL | https://www.postgresql.org |
| MySQL | https://www.mysql.com |
| Geohashing | https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/courses/sytem-design/geohashing-and-quadtrees#geohashing |
| geocoding | https://en.wikipedia.org/wiki/Address_geocoding |
| Gustavo Niemeyer | https://twitter.com/gniemeyer |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/geohashing-and-quadtrees/geohashing.png |
| Quadtree | https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/courses/sytem-design/geohashing-and-quadtrees#quadtrees |
| Octrees | https://en.wikipedia.org/wiki/Octree |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/geohashing-and-quadtrees/quadtree.png |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-IV/geohashing-and-quadtrees/quadtree-subdivision.png |
| Quadtree | https://patch-diff.githubusercontent.com/fe-project/system-design/blob/main/courses/sytem-design/geohashing-and-quadtrees#quadtrees |
| Redis | https://redis.io |
| Hilbert curve | https://en.wikipedia.org/wiki/Hilbert_curve |
| Mutex | https://en.wikipedia.org/wiki/Lock_(computer_science) |
| Transactions | https://karanpratapsingh.com/courses/system-design/transactions |
| Distributed Transactions | https://karanpratapsingh.com/courses/system-design/distributed-transactions |
| surge pricing works | https://www.uber.com/us/en/drive/driver-app/how-surge-works |
| https://patch-diff.githubusercontent.com/fe-project/system-design#payments |
| Stripe | https://stripe.com |
| PayPal | https://www.paypal.com |
| webhook | https://en.wikipedia.org/wiki/Webhook |
| https://patch-diff.githubusercontent.com/fe-project/system-design#notifications-2 |
| Apache Kafka | https://kafka.apache.org |
| Firebase Cloud Messaging (FCM) | https://firebase.google.com/docs/cloud-messaging |
| Apple Push Notification Service (APNS) | https://developer.apple.com/documentation/usernotifications |
| WhatsApp | https://karanpratapsingh.com/courses/system-design/whatsapp#notifications |
| https://patch-diff.githubusercontent.com/fe-project/system-design#detailed-design-5 |
| https://patch-diff.githubusercontent.com/fe-project/system-design#data-partitioning-5 |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| partition schemes | https://karanpratapsingh.com/courses/system-design/sharding#partitioning-criteria |
| Consistent hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| Sharding | https://karanpratapsingh.com/courses/system-design/sharding |
| Consistent Hashing | https://karanpratapsingh.com/courses/system-design/consistent-hashing |
| https://patch-diff.githubusercontent.com/fe-project/system-design#metrics-and-analytics-3 |
| Apache Spark | https://spark.apache.org |
| https://patch-diff.githubusercontent.com/fe-project/system-design#caching-5 |
| Redis | https://redis.io |
| Memcached | https://memcached.org |
| Least Recently Used (LRU) | https://en.wikipedia.org/wiki/Cache_replacement_policies#Least_recently_used_(LRU) |
| Caching | https://karanpratapsingh.com/courses/system-design/caching |
| https://patch-diff.githubusercontent.com/fe-project/system-design#identify-and-resolve-bottlenecks-5 |
| https://raw.githubusercontent.com/karanpratapsingh/portfolio/master/public/static/courses/system-design/chapter-V/uber/uber-advanced-design.png |
| load balancers | https://karanpratapsingh.com/courses/system-design/load-balancing |
| message broker | https://karanpratapsingh.com/courses/system-design/message-brokers |
| Apache Kafka | https://kafka.apache.org |
| NATS | https://nats.io |
| https://patch-diff.githubusercontent.com/fe-project/system-design#next-steps |
| Distributed Systems | https://www.youtube.com/watch?v=UEAMfLPZZhE&list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB |
| System Design Interview: An Insider's Guide | https://www.amazon.in/System-Design-Interview-insiders-Second/dp/B08CMF2CQF |
| Microservices | https://microservices.io |
| Serverless computing | https://en.wikipedia.org/wiki/Serverless_computing |
| Kubernetes | https://kubernetes.io |
| Microsoft Engineering | https://engineering.microsoft.com |
| Google Research Blog | http://googleresearch.blogspot.com |
| Netflix Tech Blog | http://techblog.netflix.com |
| AWS Blog | https://aws.amazon.com/blogs/aws |
| Facebook Engineering | https://www.facebook.com/Engineering |
| Uber Engineering Blog | http://eng.uber.com |
| Airbnb Engineering | http://nerds.airbnb.com |
| GitHub Engineering Blog | https://github.blog/category/engineering |
| Intel Software Blog | https://software.intel.com/en-us/blogs |
| LinkedIn Engineering | http://engineering.linkedin.com/blog |
| Paypal Developer Blog | https://medium.com/paypal-engineering |
| Twitter Engineering | https://blog.twitter.com/engineering |
| https://patch-diff.githubusercontent.com/fe-project/system-design#references |
| Cloudflare learning center | https://www.cloudflare.com/learning |
| IBM Blogs | https://www.ibm.com/blogs |
| Fastly Blogs | https://www.fastly.com/blog |
| NS1 Blogs | https://ns1.com/blog |
| Grokking the System Design Interview | https://www.educative.io/courses/grokking-the-system-design-interview |
| System Design Primer | https://github.com/donnemartin/system-design-primer |
| AWS Blogs | https://aws.amazon.com/blogs |
| Martin Fowler | https://martinfowler.com |
| PagerDuty resources | https://www.pagerduty.com/resources |
| VMWare Blogs | https://blogs.vmware.com/learning |
| Excalidraw | https://excalidraw.com |
| here | https://github.com/karanpratapsingh/system-design/tree/main/diagrams |
| www.karanpratapsingh.com/courses/system-design | https://www.karanpratapsingh.com/courses/system-design |
|
Readme
| https://patch-diff.githubusercontent.com/fe-project/system-design#readme-ov-file |
|
GPL-3.0 license
| https://patch-diff.githubusercontent.com/fe-project/system-design#GPL-3.0-1-ov-file |
| Please reload this page | https://patch-diff.githubusercontent.com/fe-project/system-design |
|
Activity | https://patch-diff.githubusercontent.com/fe-project/system-design/activity |
|
Custom properties | https://patch-diff.githubusercontent.com/fe-project/system-design/custom-properties |
|
0
stars | https://patch-diff.githubusercontent.com/fe-project/system-design/stargazers |
|
0
watching | https://patch-diff.githubusercontent.com/fe-project/system-design/watchers |
|
0
forks | https://patch-diff.githubusercontent.com/fe-project/system-design/forks |
|
Report repository
| https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Ffe-project%2Fsystem-design&report=fe-project+%28user%29 |
| Releases | https://patch-diff.githubusercontent.com/fe-project/system-design/releases |
| Packages
0 | https://patch-diff.githubusercontent.com/orgs/fe-project/packages?repo_name=system-design |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |