Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
- All Comments (0)
- Notes on Slide 1
-
Added to the group Linkedin by AmitRanjan
-
Added to the group Scalability of web applications by AmitRanjan
-
venkks favorited this 5 months ago -
prebrov favorited this 5 months ago
-
lalitpatel favorited this 5 months ago
-
netog favorited this 5 months ago -
hermox favorited this 5 months ago -
dimar favorited this 5 months ago -
remagio favorited this 5 months ago -
romradz favorited this 5 months ago -
BrownSound777 favorited this 5 months ago
-
darsenault favorited this 5 months ago -
domingo.gallardo favorited this 5 months ago
-
jpverar favorited this 5 months ago
-
kuchmuch favorited this 5 months ago
-
d0nn9n favorited this 5 months ago -
agentbased favorited this 5 months ago -
rafaelcarneiro favorited this 5 months ago
-
hugobarauna favorited this 5 months ago
-
pizarropablo favorited this 5 months ago -
flydreamgy favorited this 5 months ago -
aircon favorited this 5 months ago -
Detect favorited this 5 months ago
-
kevinpk999 favorited this 5 months ago -
olifante favorited this 5 months ago
-
vajacn favorited this 5 months ago -
bogdans83 favorited this 5 months ago -
sergiogh favorited this 5 months ago -
alagna favorited this 5 months ago
-
grantbb favorited this 5 months ago -
etorrie favorited this 5 months ago -
ashishjaiswal favorited this 5 months ago -
elboby favorited this 5 months ago -
quangvhg favorited this 6 months ago -
parthpatil favorited this 6 months ago -
abielk favorited this 6 months ago -
mun favorited this 6 months ago -
innes.j favorited this 6 months ago -
pip favorited this 6 months ago -
charoy favorited this 6 months ago
-
mallipeddi favorited this 6 months ago
-
glaforge favorited this 6 months ago
-
lindenb favorited this 6 months ago
-
Cherife favorited this 6 months ago
-
Caiwangqin favorited this 6 months ago
-
dima767 favorited this 6 months ago -
wingoo favorited this 6 months ago
-
kenyth favorited this 6 months ago
-
revv favorited this 6 months ago -
Fenng favorited this 6 months ago
-
hellhnas favorited this 6 months ago -
m.okamoto favorited this 6 months ago
Slideshow Transcript
- Slide 1: LinkedIn: A Professional Social Network Built with Java™ Technologies and Agile Practices Nick Dellamaggiore, Principal Software Engineer Eishay Smith, Senior Software Engineer
- Slide 2: Learn how Java™ and agile practices are employed in building large-scale consumer internet sites like LinkedIn, the world’s largest professional network. 2008 JavaOneSM Conference | java.com.sun/javaone | 2
- Slide 3: Agenda LinkedIn(troduction) Agile engineering process Architecture Building LinkedIn with Java™ Questions/Discussion 2008 JavaOneSM Conference | java.com.sun/javaone | 3
- Slide 4: 2008 JavaOneSM Conference | java.com.sun/javaone | 4
- Slide 5: LinkedIn Your professional identity on the web The site The numbers • Launched in 2003 • 22 million members • 3 degree network • 4+ million unique visitors/month • Strong focus on privacy • 40 million page views/day The company • 2 million searches/day • Profitable since 2006 • 250K invitations sent/day • 250 employees • 1 million answers posted • Based in Mountain View, CA • We’re hiring! 2008 JavaOneSM Conference | java.com.sun/javaone | 5
- Slide 6: Engineering Process Release often • Short, 2-4 week development cycles All dev tasks are broken down into small, manageable engineering cards Strong focus on testing Minimize meetings, status (standup meetings as needed) 2008 JavaOneSM Conference | java.com.sun/javaone | 6
- Slide 7: Engineering Cards 2008 JavaOneSM Conference | java.com.sun/javaone | 7
- Slide 8: Testing 6500+ unit and integration tests 500 HtmlUnit tests Large-scale Hudson deployment • 20+ nodes • Continuous integration build/smoke test on SVN commit • Nightly test run (full test suite) 2008 JavaOneSM Conference | java.com.sun/javaone | 8
- Slide 9: “Celebrities” Test Network 2008 JavaOneSM Conference | java.com.sun/javaone | 9
- Slide 10: Hudson 2008 JavaOneSM Conference | java.com.sun/javaone | 10
- Slide 11: Testing… Lessons Learned Test suite too focused on integration • Long running time • Long-running setup/teardown routine • Exacerbated by move to SOA • Tests become redundant due to overlapping integration tests • Better: use mocks (EasyMock works great) 2008 JavaOneSM Conference | java.com.sun/javaone | 11
- Slide 12: Architecture 2008 JavaOneSM Conference | java.com.sun/javaone | 12
- Slide 13: LinkedIn Architecture: 2003-2005 2008 JavaOneSM Conference | java.com.sun/javaone | 13
- Slide 14: LinkedIn Architecture: 2006 2008 JavaOneSM Conference | java.com.sun/javaone | 14
- Slide 15: LinkedIn Architecture: Today 2008 JavaOneSM Conference | java.com.sun/javaone | 15
- Slide 16: LinkedIn Architecture: Today 2008 JavaOneSM Conference | java.com.sun/javaone | 16
- Slide 17: Service-oriented Architecture Benefits Caveats • Each service can scale • Diminished data integrity, independently consistency • Encourages decoupling, reduces • No cross-service transactions, code+deployment dependencies referential integrity or joins • Graceful degradation of • Backward compatibility functionality • “8 Fallacies of Distributed Computing” Takeaways • Not applicable to small or simple sites, startups • Build services with interfaces, POJOs, dependency injection • Be conscious of API design, granularity 2008 JavaOneSM Conference | java.com.sun/javaone | 17
- Slide 18: Services 2008 JavaOneSM Conference | java.com.sun/javaone | 18
- Slide 19: The Cloud Backend server caching the entire LinkedIn Network Graph cache • Updated via Databus • Persisted to disk on shutdown Transient network cache • Computationally intensive to build • Bound to member session • Sticky load balancing to Cloud Graph operations: • findRoute(m1, m2) • visit(visitor, deg) • visit(visitor, deg, since) 2008 JavaOneSM Conference | java.com.sun/javaone | 19
- Slide 20: The Cloud The numbers 22M nodes, 120 million edges 12 GB JVM heap • In-memory caches implemented in C++, accessed via JNI 40 Cloud server instances deployed in production 2008 JavaOneSM Conference | java.com.sun/javaone | 20
- Slide 21: LinkedIn News Part of a new trend in LinkedIn Crawling the web for news • Distributed task management • Parsing technologies: StAX, Rome Indexing and searching • Serving the right news to the right people Duplications Duplications Duplications • Real time problem, fast solution • 500 articles batch = 125K compares 2008 JavaOneSM Conference | java.com.sun/javaone | 21
- Slide 22: News Service Architecture 2008 JavaOneSM Conference | java.com.sun/javaone | 22
- Slide 23: LinkedIn: 99% Pure Java™ Plumbing Services Tier Web Tier Tools Spring Remoting LinkedIn Spring Louis (in-house fwk) Hudson (CI) ActiveMQ Eh-cache Spring MVC Eclipse+Mylyn Quartz Lucene Grails JIRA/Greenhopper HttpClient Jetty DWR JUnit, HtmlUnit 2008 JavaOneSM Conference | java.com.sun/javaone | 23
- Slide 24: Why we love Java™ at LinkedIn Static typing is a lifesaver • Huge codebase, 1M+ lines of code • Refactoring with confidence • Code navigation (via IDE) • 20 active branches, compiler helps with merging • Scaling the engineering organization • Currently 50+ engineers, 8 teams… and growing • Excellent talent pool of Java™ engineers to hire from Community 2008 JavaOneSM Conference | java.com.sun/javaone | 24
- Slide 25: LinkedIn: A Professional Social Network Built with Java™ Technologies and Agile Practices Nick Dellamaggiore (http://www.linkedin.com/in/nick) Eishay Smith (http://www.linkedin.com/in/eishay) We’re hiring!

