Design LinkedIn's Professional Network
HardSystem design · Professional Graph · LinkedIn
Design the core of LinkedIn: profiles, a symmetric connection graph with a cap of 30,000 connections, people search ranked by network distance, a feed, messaging gated by distance, and People You May Know. Scale: 1B members, with first-, second- and third-degree distance needed on search results. Cover the graph model and invitation state machine, computing degree of separation cheaply, privacy and blocks in search, and recommendations.
Requirements
- Model connections as mutual edges with pending invitations, withdrawals and blocks
- Compute degree of separation and shared connections within the search latency budget
- Search results and profile visibility respect distance, privacy settings and blocks
- Feed and recommendations reuse fan-out and offline graph techniques