...
...
...
...
...
...
...
...
...
...
Tip |
---|
The Framework proposed in this space (Alex Xu) is applied to propose a design : Getting started - a framework to propose... |
Introduction
News feed is the constantly updating list of stories in the middle of the home page. It includes status updates, photos, links, video, etc.
...
On this page.
...
Part 1 - Understand the problem and establish design scope
Accessible via Mobile App or/and Web App ? | Both |
---|---|
Features ? | Publish and See other posts (from other users) |
How is sorted the news feed ? | Reverse chronological order |
How many friends user can have ? | 5000 |
Traffic volume ? | 10 million per day, active users |
Contain images, videos or just text ? | All. |
Part 2 - High-Level design
...
2 flows :
Feed publishing → user publishes a post, corresponding data is written into cache and DB.
Newsfeed building → news feed is built by aggregating friends’ posts in
...
reverse chronological order.
Part 3 - Deep dive design
Flow Feed Publishing
Focus is on Web servers and the fanout service.
...
Flow Newsfeed Retrieval
Focus is on the CDN and the News Feed Service :
Service fetches complete user and post objects from caches.
News feed is returned in JSON format back to the client for rendering.
...
Part 4 - Pros & Cons
Need to validate how to scale the DB (Master-Slave replication, Read Replicas, DB Sharding, etc.)
How to keep Web Tier Stateless
etc…