System Design Concepts | API Design Concepts | Database Schema Design Concepts
Fundamentals/Building Blocks:
- Count things at Large Scale
- Rate Limiter
- Consistent Hashing
- Unique ID Generator | Sequencer
- Distributed Message Queue | Pub Sub
- Notification System
- Distributed Cache
- Key-value Store | Wide Column Store | Document Store | Graph Store
- Top K Problem (Heavy Hitters)
- Distributed Locking Service
- Distributed File Storage System | Object Store like S3 | Azure Blob
- Metrics Monitoring & Alerting Service | Distributed Monitoring
- Monitoring Server-Side Errors | Monitoring Client-Side Errors
- Distributed Search | Distributed Logging
- Distributed Task Scheduler | Shared Counters
Design a Product/Service/Feature:
- URL Modifications : URL Shortener | Pastebin
- Web Crawler
- Search Autocomplete / Typeahead Suggestion
- Social Media: Newsfeed System | Twitter | Quora | Instagram
- Chat / Messaging
- Videos / Streaming
- Cloud Storage – Google Drive | Dropbox | Microsoft One Drive | Apple iCloud
- Location-based Service:
- Ad click Event Aggregation
- Reservation System:
- Airbnb | Airbnb Search | Flight Reservation |
- Movie Ticket | Ticketmaster
- Distributed Email Service: Outlook | GMail | YahooMail
- Real Time Gaming Leaderboard
- Finance / Money
- Payment System
- Digital Wallet
- Stock Exchange
- Mint.com
- Ebay (Auction System)
- Groupon (Coupon System)
- Live Streaming/Video Calls:
- Facebook/Instagram/Twitch Live | Skype | Zoom | Microsoft Teams
- Google docs collaboration
- Music Streaming Service:
- Spotify | Youtube Music | Apple Music | Amazon Music
- Search & Recommendations
References:
- bytebytego + newsletter + youtube
- Mikhail Smarshchok – youtube + systemdesignthinking
- educative | highscalability