Grid evolution in eBay

Today’s key note is presented by Paul Strong, the distinguished research scientist on eBay. He demonstrated the growth of eBay’s business and IT infrastructure. There are several interesting facts to share:

The original eBay system is powered by open source components: FreeBSD, Apache, Perl and GDBM. With more users registered, they switched to Windows NT/IIS/ISAPI solution, and migrated the database to Oracle or Solaris. It is reasonable if we take the overhead of Apache’s process model into account, they try to squeeze every once of computing power from the web server, the lightweight thread model in IIS is favored.

More users joined the community, and more functionalities are added into the system, the logic is extremely complicated: 3.3 million lines of C++ code, 150MB ISAPI binary after compilation.

On 2002, they decided to embrace J2EE, and build the N-tie architecture to break the bottleneck of scalability.

eBay Architecture
eBay Architecture

On 2002 – 2005, the system evolved gradually, there are ~170 Windows servers, ~170 Linux(RHES3) severs and 3 Solaris servers.

He also addressed the biggest challenge for eBay: database update. Due to the characteristics of bidding system, there are millions of database update in one second, the updates are supposed to replicated to all the data centers and reflected in the next query. It is quite hard to optimize the search using cache scheme. This also takes great impact on search. They took the Voyage(developed in the house, or bought from the vendors?) and Voyage II to address this problem, the database is updated real-time with less than 1s latency.