System design of Twitter
source: https://www.infoq.com/presentations/Twitter-Timeline-Scalabilityhttps://github.com/donnemartin/system-design-primer
- How to design...
- General:
- Top 10 System Desing Questions (hackernoon)
- A good GitHub page
Resource with many real-world system design explanations: http://highscalability.com/
- Yelp: https://engineeringblog.yelp.com/2016/07/billions-of-messages-a-day-yelps-real-time-data-pipeline.html
- Netflix: https://medium.com/netflix-techblog/evolution-of-the-netflix-data-pipeline-da246ca36905
- AirBnb: https://medium.com/@airbnbeng
- Facebook:
- Pinterest: medium
- Twitter:
- Uber: engineering website
- Dropbox: Video: How we've scaled dropbox
- Requirements classification
- System interface definition
- Back-of-the-envelope estimation
- Defining data model
- High-level design
- Detailed design
- Identifying and resolving bottlenecks
Grokking the system design interview
Distributed systems for fun and profit
https://lethain.com/introduction-to-architecting-systems-for-scale/
- Load balancing
- Smart clients
- Hardware load balancers
- Software load balancers
- Caching
- Off-line processing
- Message queues
- Tool: RabbitMQ
- Scheduling periodic tasks
- MapReduce
- Tool: Hadoop MapReduce, Hive, HBase
- Platform Layer
- Message queues
https://www.codecademy.com/articles/http-requests
- HTTP: Hypertext Transfer Protocol
- TCP: Transmission Control Protocol
- URL: Uniform Resource Locator
- HTTP verbs:
- GET — retrieve a specific resource (by id) or a collection of resources
- POST — create a new resource
- PUT — update a specific resource (by id)
- DELETE — remove a specific resource by id
- List of HTTP status codes
https://www.codecademy.com/articles/what-is-rest
- REST: REpresentational State Transfer