News Feed System Design (Fan-Out, Ranking & Scale)

Design a news feed system like Facebook's News Feed that aggregates and displays personalized content from multiple sources. The feed should be ranked by relevance and update in real-time.

Constraints

Functional

Personalized feed, content from friends/pages/groups, ranking by relevance/engagement, real-time updates, likes/comments/shares, filtering, pagination, personalization

Non-functional

Load < 200ms, new content within seconds, millions of users and billions of posts, 99.9% uptime

Scale

1B users, 500M DAU; ~2.5B posts/day, peak ~30K/s; ~10B feed views/day, peak ~200K/s; ~2.5 TB/day, ~900 TB/year

Stages ahead

1Requirement Analysis
2API Design
3High-Level Design
4HLD Extensions
5Trade-offs