LinkedIn System Design (Feed & Graph Architecture)

Design a professional networking platform like LinkedIn that allows users to create profiles, connect with other professionals, post updates, search for jobs, and message connections. The system should handle millions of users and complex relationship graphs.

Constraints

Functional

Profiles, connections (send/accept, network), feed from connections and companies, messaging, job postings and search, recommendations (connections/jobs/content), search people/companies/jobs, company pages, endorsements

Non-functional

1B users, billions of connections, profile/feed < 200ms, 99.9% uptime, fast search, real-time messaging and notifications

Scale

1B users, 100M DAU; ~500 connections/user → 500B connections; 10M posts/day, peak ~200/s; 100M messages/day, peak ~2K/s; 10M active jobs; ~10 TB profiles, ~50 TB connections, ~20 GB/day posts

Stages ahead

1Requirement Analysis
2API Design
3High-Level Design
4HLD Extensions
5Trade-offs
LinkedIn System Design (Feed & Graph Architecture)