company · explainer · draft

Airbnb (SOA discovery, Viaduct, CDC)

Airbnb’s public systems story is thick on SOA service discovery (SmartStack), a GraphQL data-oriented mesh (Viaduct), and CDC (SpinalTap) — and thin on company-operated network topology. AWS case studies cover cloud adoption, not a first-party WAN or PoP map.

In one sentence. Teaching published SOA/CDC patterns without inventing an Airbnb global network diagram or freezing job-posting language as topology fact.

Why it exists

SmartStack (2013) made out-of-band service discovery practical for SOA: Nerve registers healthy local services in ZooKeeper; Synapse configures local HAProxy; apps talk to localhost. Viaduct (2020) published a GraphQL central schema as a data-oriented service mesh. SpinalTap (2019) captures mutations toward Kafka. Cross-link: `/architectures/apis-edge/` for gateway/discovery teaching.

Visual walkthrough

Walkthrough

SmartStack: Nerve → ZooKeeper → Synapse → HAProxy

Published 2013 discovery path. Viaduct and SpinalTap are cited as adjacent SOA/CDC primaries — not a company WAN diagram.

Step 1 / 4
Register healthyApp (localhost)Local HAProxySynapseZooKeeperNerveBackend instance

Nerve registers healthy local service instances in ZooKeeper. Unhealthy instances should disappear from discovery.

Control vs data plane

Control plane

SmartStack control is ZooKeeper watches + Synapse rewriting HAProxy config. Viaduct’s control themes are schema collaboration, soft dependencies, and field-level consumption observability. Whether SmartStack remains production discovery today is a known unknown.

Data plane

Apps call localhost HAProxy (retries, timeouts, LB via HAProxy). SpinalTap Source/Destination/Pipe moves CDC events (MySQL, DynamoDB, in-house store) as Thrift to Kafka with Helix coordination — open-source components on GitHub.

Request / packet path

North–south

No Airbnb primary discloses PoP maps, ASNs, or company-operated CDN/WAN comparable to Cloudflare/Netflix Open Connect. AWS case studies describe business use of AWS — not a first-party edge architecture. Treat network north–south as known unknowns.

East–west

East–west as published is SOA discovery + GraphQL mesh + CDC pipelines — not spine-leaf fabric disclosure.

Scaling & math

Do not invent QPS, region counts, or mesh hop budgets. SmartStack/Viaduct/SpinalTap posts are qualitative architecture narratives.

When it breaks

  • Clients reach instances that are no longer healthy.

    Cause. Nerve registration / ZooKeeper health lag in SmartStack-class discovery.

    Mitigation. Treat discovery freshness as a hard dependency; apps still benefit from HAProxy retries/timeouts as published.

  • Local HAProxy config diverges from ZooKeeper truth.

    Cause. Synapse watch/config apply failure.

    Mitigation. SmartStack’s point: Synapse owns HAProxy config from ZooKeeper — debug the watch path.

  • Downstream consumers see stale mutations.

    Cause. CDC pipeline lag in SpinalTap Source/Destination/Pipe toward Kafka.

    Mitigation. Monitor CDC lag; do not invent in-house store internals beyond the post.

Misconceptions

  • “AWS Airbnb case studies disclose Airbnb’s global network topology.” — They describe cloud adoption; PoPs/ASNs/WAN remain unpublished.
  • “We can draw Airbnb’s current service mesh from SmartStack alone.” — SmartStack is a 2013 discovery pattern; present replacement status is unknown.

Reference expression

Primary: SmartStack 2013; Viaduct 2020; SpinalTap 2019 + GitHub; AWS case study/innovator for cloud adoption only. review: draft. Network wall stays in knownUnknowns.

Standards & sources

Known unknowns

  • Entire company-operated L3/L4 global network design: PoPs, ASNs, peering policy, CDN vendor vs self-operated edge — not publicly documented.
  • Whether SmartStack remains production discovery vs later service-mesh proxies.
  • Details of the “in-house storage solution” referenced by SpinalTap.
  • Global region topology, compute orchestration, and SLOs beyond the cited posts.
  • Any Cloud WAN migration details lacking a citable Airbnb/AWS primary transcript.

Check yourself

  1. In SmartStack, Synapse’s published role is to…

    • Serve video bytes from OCAs
    • Watch ZooKeeper and configure local HAProxy
    • Announce AS13335 anycast
    • Run Cascara TE

    Answer: Watch ZooKeeper and configure local HAProxy. SmartStack 2013: Synapse configures HAProxy from ZooKeeper.

  2. Viaduct as published is primarily…

    • A BGP peering policy
    • A GraphQL central schema / data-oriented service mesh
    • An FCC Gen2 authorization
    • Azure Front Door VIP rings

    Answer: A GraphQL central schema / data-oriented service mesh. Viaduct 2020: GraphQL data-oriented mesh.

  3. SpinalTap primarily publishes…

    • PoP rack counts
    • CDC mutation events toward Kafka (Thrift) from named stores
    • Starlink laser-mesh TE
    • Maglev consistent hashing

    Answer: CDC mutation events toward Kafka (Thrift) from named stores. SpinalTap 2019: CDC Source/Destination/Pipe to Kafka.

  4. Airbnb company-operated L3/L4 global network design is…

    • Fully documented like Cloudflare Unimog
    • A known unknowns wall — not publicly disclosed in primaries reviewed
    • Identical to Open Connect AS2906
    • Proven by AWS innovator job-scope language alone

    Answer: A known unknowns wall — not publicly disclosed in primaries reviewed. Phase 7 ship rule: network = known unknowns.