LinkedIn Professional Network  ·  View 15 of 30  ·  5 · Runtime

Post Distribution — Hybrid Fan-out

Push for normal authors, pull for high-degree ones, and recommended and sponsored content in lanes of their own.

Editable source SVG draw.io All views
Publish Classify Distribute Store Read Normal author PostCreated Degree under 10k Samza fan-out write per follower Follower inboxes Venice hybrid Inbox read one key lookup High-degree author PostCreated Degree ≥ 10k Index only no fan-out FollowFeed actor timeline Pulled at read merged by broker Recommended Engagement events Quality + policy Embedding retrieval Candidate store Venice Blended capped share Sponsored Campaign live Targeting match Ads platform auction per page Ad slots policy positions Post Distribution — Hybrid Fan-out Queue / topic Decision point Application we own Data store External / third party The 10k threshold is a tunable, set where fan-out write cost overtakes read-time merge cost. v 1.0 · owner Feed Engineering · date 2026-09

Decisions

  • Normal authors fan out on write: Samza makes one write per follower into a capped Venice inbox
  • High-degree authors never fan out. Their posts stay in FollowFeed and are pulled at read time
  • Recommended and sponsored candidates run in separate lanes, so their share of the feed is set by policy, not by a side effect of storage

What LinkedIn actually does

  • LinkedIn's published FollowFeed design is pull-based: timelines keyed by actor, merged at request time (LinkedIn, 2016)
  • The write-time inbox is here because the requirement asks for the hybrid, and because it caps read cost for members who follow thousands of actors
  • The 10k-follower threshold is an assumption, to be tuned from the write-cost and read-cost curves

Risks

  • A member who crosses the threshold must move lanes without duplicating or dropping posts; the broker dedupes by post URN
  • Fan-out lag during a spike delays normal authors' reach, so lag is an SLO on the fan-out job