LinkedIn Professional Network  ·  View 07 of 30  ·  3 · Structure

Layered Architecture

What depends on what, and the one arrow that deliberately points back up.

Editable source SVG draw.io All views
Experience Web client iOS / Android Partner apps Edge and API Azure Front Door Traffic tier ATS API layer GraphQL Identity Domain services Profile Social graph Content Feed broker Search Messaging Jobs Derived serving Couchbase Venice LIquid FollowFeed Galene Systems of record Espresso MySQL Ambry Streams and batch Brooklin Kafka Samza Hadoop + Spark Platform D2 discovery Helix T-REX ramps Observability HTTPS Rest.li pull write change log derived push LinkedIn — Layered Architecture Application we own External / third party Interface / broker Security / platform Data store Queue / topic synchronous event / async One arrow points up, by design: derived data is pushed back into the serving layer. v 1.0 · owner Enterprise Architecture · date 2026-09

Rules

  • Clients reach services only through the API layer; services reach stores only through their own Rest.li resources
  • The serving layer holds only derived data. Any of it can be dropped and rebuilt from the log or the lake
  • The one upward arrow is derived data being pushed into serving stores; no request path goes up

Why it is layered this way

  • Keeping derived serving separate from systems of record is LinkedIn's central data idea. Venice, LIquid, FollowFeed and Galene are rebuildable, so they are sized for read speed rather than durability
  • Platform services (D2, Helix, T-REX) cut across every layer and carry no business logic

Risks

  • A service that reads another service's store directly bypasses its privacy checks. The ACL service forbids it; convention alone would not
  • A derived store rebuilt from a bad push serves wrong data quickly. Venice keeps the previous version so it can be swapped back