Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Article: Scalability Best Practices Lessons from eBay

Article: Scalability Best Practices Lessons from eBay

At eBay, one of the primary architectural forces they contend with every day is scalability. It colors and drives every architectural and design decision made. With hundreds of millions of users worldwide, over two billion page views a day, and petabytes of data in our systems, this is not a choice - it is a necessity. There are many facets to scalability - transactional, operational, development effort. In this article, eBay Distinguished Engineer Randy Shoup outlines several of the key best practices they have learned over time to scale the transactional throughput of a web-based system.

Read Scalability Best Practices: Lessons from eBay. 

Randy goes into depth on the following best practices:
  • Best Practice #1: Partition by Function
  • Best Practice #2: Split Horizontally
  • Best Practice #3: Avoid Distributed Transactions
  • Best Practice #4: Decouple Functions Asynchronously
  • Best Practice #5: Move Processing To Asynchronous Flows
  • Best Practice #6: Virtualize At All Levels
  • Best Practice #7: Cache Appropriately
Randy conclude: "Scalability is sometimes called a "non-functional requirement," implying that it is unrelated to functionality, and strongly implying that it is less important. Nothing could be further from the truth. Rather, I would say, scalability is a prerequisite to functionality - a "priority-0" requirement, if ever there was one."   eBay has also been presenting at all of our past QCon events, and Dan Pritchett, eBay technical fellow is hosting the architecture case studies track at our next QCon San Francisco (Nov 19-21).

Rate this Article