Wednesday, June 04, 2008

LinkedIn Architecture

Lots of good details on the architecture of LinkedIn from two sessions at JavaOne 2008 last month. They cache the entire LinkedIn network graph of all 22 million members in memory in a "Cloud" server. The cache is written in C++ and uses 12 GB of memory. And they have 40 of these Cloud servers.

All of the rest of their code is in Java. One bullet on the slides about why they liked using Java caught my eye: "Near-excessive use of generics". Interesting. A lot of people find Java generics to be pretty weak since they're implemented using type erasure where type information is only available at compile time. That does give you type-safe containers but would that be "near-excessive use"?