LinkedIn - A Professional Network built with Java Technologies and Agile Practices

3 years ago

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

26 comments

Comments 1 - 10 of 26 comments previous next Post a comment

Comments 1 - 10 of 26 comments previous next

Login or Signup to post a comment
Login to SlideShare
Login to Twitter
Edit your comment Cancel

162 Favorites

2 Groups

Follow SlideShare

LinkedIn - A Professional Network built with Java Technologies and Agile Practices - Presentation Transcript

  1. LinkedIn: A Professional Social Network Built with Java™ Technologies and Agile Practices Nick Dellamaggiore, Principal Software Engineer Eishay Smith, Senior Software Engineer
  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
  3. Agenda LinkedIn(troduction) Agile engineering process Architecture Building LinkedIn with Java™ Questions/Discussion 2008 JavaOneSM Conference | java.com.sun/javaone | 3
  4. 2008 JavaOneSM Conference | java.com.sun/javaone | 4
  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
  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
  7. Engineering Cards 2008 JavaOneSM Conference | java.com.sun/javaone | 7
  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
  9. “Celebrities” Test Network 2008 JavaOneSM Conference | java.com.sun/javaone | 9
  10. Hudson 2008 JavaOneSM Conference | java.com.sun/javaone | 10
  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
  12. Architecture 2008 JavaOneSM Conference | java.com.sun/javaone | 12
  13. LinkedIn Architecture: 2003-2005 2008 JavaOneSM Conference | java.com.sun/javaone | 13
  14. LinkedIn Architecture: 2006 2008 JavaOneSM Conference | java.com.sun/javaone | 14
  15. LinkedIn Architecture: Today 2008 JavaOneSM Conference | java.com.sun/javaone | 15
  16. LinkedIn Architecture: Today 2008 JavaOneSM Conference | java.com.sun/javaone | 16
  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
  18. Services 2008 JavaOneSM Conference | java.com.sun/javaone | 18
  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
  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
  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
  22. News Service Architecture 2008 JavaOneSM Conference | java.com.sun/javaone | 22
  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
  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
  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!

linkedinlinkedin + Follow

70399 views, 162 favs, 95 embeds

About this presentation

Usage Rights

© All Rights Reserved

Stats

  • 162 Favorites
  • 26 Comments
  • 5,784 Downloads
  • 66,938 Views on
    SlideShare
  • 3,461 Views on
    Embeds
  • 70,399 Total Views

Embed views

  • 978 views on http://www.dbanotes.net
  • 574 views on http://blog.linkedin.com
  • 515 views on http://www.insight-it.ru
  • 292 views on http://www.slideshare.net
  • 114 views on http://voituk.kiev.ua

more

Embed views

  • 978 views on http://www.dbanotes.net
  • 574 views on http://blog.linkedin.com
  • 515 views on http://www.insight-it.ru
  • 292 views on http://www.slideshare.net
  • 114 views on http://voituk.kiev.ua
  • 109 views on http://glemir.xplore.cn
  • 101 views on http://www.dosideas.com
  • 86 views on http://brigomp.blogspot.com
  • 66 views on http://blogs.sun.com
  • 52 views on http://chanwook.tistory.com
  • 39 views on http://technofriends.in
  • 38 views on http://xp-rs.blogspot.com
  • 33 views on http://www.forschung-direkt.eu
  • 29 views on http://www.cnblogs.com
  • 29 views on http://www.kuqin.com
  • 26 views on http://eltechie.blogspot.com
  • 25 views on http://www.zhuaxia.com
  • 24 views on http://eishay.blogspot.com
  • 21 views on http://www.20ju.com
  • 20 views on http://technos.ouvaton.org
  • 20 views on http://www.jroller.com
  • 19 views on http://www.pitako.com.br
  • 14 views on http://jujuyjug.blogspot.com
  • 13 views on http://www.xianguo.com
  • 12 views on http://www.bullog.cn
  • 12 views on http://re.xianguo.com
  • 11 views on http://www.i2e.com.es
  • 11 views on http://www.planetacodigo.com
  • 11 views on http://www.infosertec.com.ar
  • 10 views on http://www.sysbus.com
  • 10 views on http://www.eishay.com
  • 9 views on http://heeha.wordpress.com
  • 8 views on http://www.baobah.es
  • 8 views on http://analyse.org.ua
  • 8 views on http://www.tica2.ro
  • 8 views on http://blog.csdn.net
  • 7 views on http://vivekjuneja.blogspot.com
  • 6 views on http://static.slideshare.net
  • 5 views on http://www.hanrss.com
  • 5 views on http://blog.techminder.com
  • 4 views on http://zhuaxia.com
  • 4 views on http://www.fatloss247.com
  • 3 views on http://searchfull.net
  • 3 views on http://elanso.com
  • 3 views on http://reader.yodao.com
  • 3 views on http://onlinevideogamerental.org
  • 2 views on http://dominiquelacan.blogspot.com
  • 2 views on http://www.realnobile.com
  • 2 views on http://holographicmemorydiscs.com
  • 2 views on http://brentwoodtennesseerealestate.org
  • 2 views on http://www.filescon.com
  • 2 views on http://www.searchfull.net
  • 2 views on http://blog.zdnet.com.cn
  • 2 views on http://www.newsss.com
  • 2 views on http://communitas.tumblr.com
  • 2 views on file://
  • 2 views on http://meshino.tistory.com
  • 2 views on http://space.zdnet.com.cn
  • 2 views on http://lj-toys.com
  • 2 views on http://www.traveltravellers.com
  • 1 views on http://longevitygenetics.com
  • 1 views on http://sexingkits.com
  • 1 views on http://www.lmodules.com
  • 1 views on http://about-antiques.org
  • 1 views on http://avikara.com
  • 1 views on http://about-insomnia.org
  • 1 views on http://webcache.googleusercontent.com
  • 1 views on https://docs.google.com
  • 1 views on http://xianguo.com
  • 1 views on http://sadhas.wordpress.com
  • 1 views on http://wildfire.gigya.com
  • 1 views on http://xss.yandex.net
  • 1 views on http://confluencetest.fr.sogeti.com
  • 1 views on http://203.208.37.104
  • 1 views on http://blogcommentservice.com
  • 1 views on http://www.sport-xblog.com
  • 1 views on http://20ju.com
  • 1 views on http://www.bidderdirectory.com
  • 1 views on http://falkayn.blogspot.com
  • 1 views on http://www.game-games-gamer.com
  • 1 views on http://www.moviecern.com
  • 1 views on http://blog.linkedin.com.nyud.net:8090
  • 1 views on http://209.85.135.104
  • 1 views on http://www.rapidshareabc.com
  • 1 views on http://www.beauty-fashion-jewelry.com
  • 1 views on http://www.hainei.com
  • 1 views on http://www.techq.com
  • 1 views on http://www.howtospeakspanishonline.com
  • 1 views on http://www.losingweight247.com
  • 1 views on http://www.cars-and-motorcycles-and-trucks.com
  • 1 views on http://www.sport-icx.com
  • 1 views on http://www.marketing-xblog.com
  • 1 views on http://web-and-host.com
  • 1 views on http://www.business1-finance1.com
  • 1 views on http://64.233.183.104

less

Accessibility

Additional Details

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint