The Ebay Matrix: Defining an Enterprise Architecture that Scales Across the Globe - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

The Ebay Matrix: Defining an Enterprise Architecture that Scales Across the Globe

Description:

The Ebay Matrix: Defining an Enterprise Architecture that Scales Across the Globe ... EBay data access layer. Partitioning. Logical data access. Replication ... – PowerPoint PPT presentation

Number of Views:111
Avg rating:3.0/5.0
Slides: 13
Provided by: abc99
Category:

less

Transcript and Presenter's Notes

Title: The Ebay Matrix: Defining an Enterprise Architecture that Scales Across the Globe


1
The Ebay Matrix Defining an Enterprise
Architecture that Scales Across the Globe
  • Ian Flint (Ebay)
  • Notes taken by Wei Xu

2
Ebay v1
  • Perl
  • 1995
  • Scales upto 50k hits per day
  • Not bad in 1995

3
Ebay v2
  • 97-99
  • C Oracle on Solaris

4
V2.1
  • Servers grouped into pools
  • Front-end load balancing
  • Separate search from other transactional databases

5
V2.3
  • 1999
  • Massively scaling the database
  • Move CPU intensive work to applications
  • Foreign keys, joins, sorting
  • Minimize Transactions
  • No business logics in database
  • Single database

6
V2.4
  • 99-01
  • Split Database
  • Windows NT IIS C front end
  • Solaris Oracle

7
V2.5
  • Horizontal Database Scaling
  • CATY databases
  • Manually partition databases based on categories
    of listing
  • Also account database etc.
  • Logical database host
  • Separate application db notion from physical
    implementation
  • 170 database servers nowadays

8
Scalability in Development Process
  • 3.3 millions of lines of legacy C code
  • Cyclomatic complexity 800(!)
  • a broad measure of soundness and confidence for a
    program.
  • Hitting compiler limits on of methods per class

9
V3
  • Java
  • Stateless application tier
  • Avoid HTTP Sessions
  • Sticky servers make it hard to load balance
  • Use cookies
  • Servlet based framework running in web container
  • Minimize transactions
  • Avoid locking data rows
  • Extensive component reuse

10
Secret Sauce
  • EBay data access layer
  • Partitioning
  • Logical data access
  • Replication
  • Control always consider what to do when logical
    data source went down (in all apps)
  • Graceful degradation (app specific)
  • Vertical scaling
  • Connection pooling
  • JDBC prepared statements

11
Multiple apps share some infrastructure
  • Batch
  • Web
  • Static page
  • HTML
  • Images (1 billion per day)
  • API
  • Share the same business/ integration tier
    components

12
V4 ( in planning )
  • Pure java presentation layer
  • Whole page in java (instead of XSLT)
  • Everything in java DOM tree directly to HTML
  • More generic components on the page
Write a Comment
User Comments (0)
About PowerShow.com