{"id":29733945,"url":"https://github.com/joefelx/system-design","last_synced_at":"2026-02-07T05:02:03.435Z","repository":{"id":302587076,"uuid":"1012644563","full_name":"joefelx/system-design","owner":"joefelx","description":"Essential System Design topic and notes.","archived":false,"fork":false,"pushed_at":"2025-07-17T15:18:50.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-25T14:49:21.388Z","etag":null,"topics":["hld","lld","system-design"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joefelx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-02T16:44:20.000Z","updated_at":"2025-07-17T15:18:54.000Z","dependencies_parsed_at":"2025-07-03T07:35:59.097Z","dependency_job_id":null,"html_url":"https://github.com/joefelx/system-design","commit_stats":null,"previous_names":["joefelx/system-design"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joefelx/system-design","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joefelx%2Fsystem-design","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joefelx%2Fsystem-design/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joefelx%2Fsystem-design/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joefelx%2Fsystem-design/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joefelx","download_url":"https://codeload.github.com/joefelx/system-design/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joefelx%2Fsystem-design/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29186742,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T03:35:06.566Z","status":"ssl_error","status_checked_at":"2026-02-07T03:34:57.604Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hld","lld","system-design"],"created_at":"2025-07-25T10:38:21.107Z","updated_at":"2026-02-07T05:02:03.418Z","avatar_url":"https://github.com/joefelx.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# System Design Essentials\n\n\u003e These are the essential topics for understanding system design.\n\n---\n### **[Low Level Design](./Low%20Level%20Design.md)**\n\n---\n\n### **[1. System Design Basics](./System%20Design%20Basics.md)**\n\n* **High-Level Design Approach** —\n  * Functional vs Non-functional requirements.\n* **Latency, Throughput, Availability, Reliability, Consistency, Scalability, Maintainability.**\n* **CAP Theorem (Consistency, Availability, Partition Tolerance).**\n* **Trade-offs: Speed vs Consistency, Cost vs Scalability.**\n\n---\n\n### **2. Load Handling**\n\n* **Load Balancing.**\n  * (Round Robin, Least Connections, IP Hashing).\n* **Reverse Proxy.**\n  * (Nginx, HAProxy, Envoy)\n* **Horizontal vs Vertical Scaling.**\n* **Auto-scaling Groups (AWS, GCP).**\n\n---\n\n### **3. Data Storage**\n\n* **SQL vs NoSQL (when to pick which).**\n* **Relational DB (PostgreSQL, MySQL) Design — Indexing, Joins, Transactions (ACID).**\n* **NoSQL (MongoDB, DynamoDB) — Document, Key-Value, Columnar.**\n* **Sharding, Replication, Partitioning.**\n* **Caching (Redis, Memcached) — Read-heavy optimizations.**\n\n---\n\n### **4. Caching Systems**\n\n* **Client-Side, Server-Side, CDN Caching (Cloudflare, Akamai).**\n* **Cache Invalidation Strategies (Write-Through, Write-Back, TTL).**\n* **Redis vs Memcached differences.**\n\n---\n\n### **5. Data Consistency**\n\n* **Eventual Consistency vs Strong Consistency.**\n* **Quorum-based Reads/Writes.**\n* **Leader Election (Raft, Paxos overview).**\n\n---\n\n### **6. Messaging and Asynchronous Systems**\n\n* **Message Queues (RabbitMQ, Kafka, SQS).**\n* **Task Queues (Celery, Bull.js).**\n* **Pub/Sub Systems — Real-time event streaming (Kafka, Redis Streams).**\n* **Retry Mechanisms, Dead Letter Queues.**\n\n---\n\n### **7. API \u0026 Request Handling**\n\n* **API Gateway (Kong, AWS API Gateway).**\n* **Rate Limiting (Token Bucket, Leaky Bucket).**\n* **Circuit Breakers, Retry Patterns, Idempotency.**\n\n---\n\n### **8. File Storage \u0026 Media Handling**\n\n* **Blob Storage (S3, GCS) for files/images/videos.**\n* **Presigned URLs.**\n* **CDN for static file delivery.**\n\n---\n\n### **9. Authentication \u0026 Authorization**\n\n* **JWT vs Session-based Auth.**\n* **OAuth2.0 / OpenID Connect (Google Login, Facebook Login).**\n* **API Key vs OAuth vs Custom Token.**\n\n---\n\n### **10. Real-Time Systems**\n\n* **WebSocket vs Long Polling vs Server-Sent Events.**\n* **Real-time Chat, Notification Design.**\n\n---\n\n### **11. Fault Tolerance \u0026 Resiliency**\n\n* **Redundancy, Failover Strategies.**\n* **Graceful Degradation.**\n* **Health Checks, Heartbeats.**\n* **Disaster Recovery.**\n\n---\n\n### **12. Observability \u0026 Monitoring**\n\n* **Logging (ELK Stack).**\n* **Tracing (Jaeger, Zipkin).**\n* **Metrics (Prometheus, Grafana).**\n* **Alerting Systems.**\n\n---\n\n### **13. CDNs \u0026 Global Scale Systems**\n\n* **Content Delivery Networks.**\n* **Geo-Distributed Systems Challenges.**\n* **Latency Optimization across regions.**\n\n---\n\n### **14. Designing Real-World Systems (Case Studies)**\n\n* **URL Shortener.**\n* **Instagram Feed / Twitter Timeline.**\n* **Uber Location Tracking.**\n* **YouTube/Netflix Video Streaming.**\n* **WhatsApp Messaging System.**\n\n---\n\n### **Optional (Advanced) Topics:**\n\n* Consistent Hashing.\n* Bloom Filters.\n* CRDTs / Conflict Resolution in distributed systems.\n* Data Lakes vs Data Warehouses.\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoefelx%2Fsystem-design","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoefelx%2Fsystem-design","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoefelx%2Fsystem-design/lists"}