Operations 14 min read

How eBay Scales to Billions: 7 Proven Practices for Massive Web Systems

This article outlines eBay's seven scalability best practices—including functional partitioning, horizontal sharding, avoiding distributed transactions, asynchronous decoupling, streaming, virtualization, and smart caching—to help large‑scale web services achieve reliable, cost‑effective growth.

ITFLY8 Architecture Home
ITFLY8 Architecture Home
ITFLY8 Architecture Home
How eBay Scales to Billions: 7 Proven Practices for Massive Web Systems

At eBay, scalability is a daily architectural pressure, with billions of page views and petabytes of data, making it a make‑or‑break concern.

Best Practice #1: Functional Partitioning

Group related functionality together and separate unrelated parts, whether called SOA, functional decomposition, or engineering secrets. eBay isolates functions into application pools (e.g., sales, bidding, search) across ~16,000 servers and into logical databases spread over 400 physical hosts, enabling independent scaling.

Best Practice #2: Horizontal Sharding

Beyond functional separation, workloads must be broken into many small, manageable units. Stateless application layers use load balancers to route traffic, allowing simple addition of servers. For stateful data, eBay shards databases by primary access paths—e.g., user data across 20 hosts—using techniques such as modulo hashing, range partitioning, lookup tables, or hybrid strategies.

Best Practice #3: Avoid Distributed Transactions

Instead of costly two‑phase commits, eBay relaxes cross‑system transaction guarantees, favoring eventual consistency. Most operations are auto‑committed; where needed, multiple statements are bundled into a single transaction. Techniques like ordered DB operations, asynchronous events, and reconciliation batches achieve the required consistency without sacrificing availability.

Best Practice #4: Decouple with Asynchronous Strategies

Asynchronous communication (queues, multicast, batch jobs) removes tight coupling, allowing components to scale independently and remain available even if peers fail. Internally, architectures such as SEDA provide staged, event‑driven processing while keeping the programming model understandable.

Best Practice #5: Turn Processes into Asynchronous Streams

By moving non‑critical work to background processing, response latency for users drops dramatically. Activities like activity tracking, invoicing, settlement, and reporting are handled asynchronously, smoothing load peaks and reducing infrastructure costs.

Best Practice #6: Virtualize Every Layer

Virtualization abstracts hardware, OS, databases, load balancers, and network endpoints. eBay virtualizes databases so logical hosts map to physical machines, and virtualizes search across partitioned query grids, providing flexibility for scaling, rebalancing, and fault tolerance.

Best Practice #7: Use Caching Wisely

Cache read‑heavy, rarely changing data (metadata, config, static content) using push and pull strategies, while avoiding caching mutable or session data to preserve correctness. Proper cache sizing balances memory pressure against latency gains, and over‑reliance on cache can create new availability risks.

Scalability is not a non‑functional afterthought; it is a prerequisite functional requirement that must be prioritized above all else.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Distributed SystemscachingAsynchronous ArchitectureeBay
ITFLY8 Architecture Home
Written by

ITFLY8 Architecture Home

ITFLY8 Architecture Home - focused on architecture knowledge sharing and exchange, covering project management and product design. Includes large-scale distributed website architecture (high performance, high availability, caching, message queues...), design patterns, architecture patterns, big data, project management (SCRUM, PMP, Prince2), product design, and more.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.