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

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.

20 comments

Comments 1 - 10 of 20 previous next Post a comment

Comments 1 - 10 of 20 previous next

Post a comment
Embed Video
Edit your comment Cancel

121 Favorites & 2 Groups

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, 2 years ago

custom

49534 views, 121 favs, 84 embeds more stats

More Info

© All Rights Reserved

Go to text version
  • Total Views 49534
    • 47140 on SlideShare
    • 2394 from embeds
  • Comments 20
  • Favorites 121
  • Downloads 4758
Most viewed embeds
  • 745 views on http://www.dbanotes.net
  • 574 views on http://blog.linkedin.com
  • 274 views on http://www.insight-it.ru
  • 95 views on http://voituk.kiev.ua
  • 80 views on http://brigomp.blogspot.com

more

All embeds
  • 745 views on http://www.dbanotes.net
  • 574 views on http://blog.linkedin.com
  • 274 views on http://www.insight-it.ru
  • 95 views on http://voituk.kiev.ua
  • 80 views on http://brigomp.blogspot.com
  • 66 views on http://blogs.sun.com
  • 58 views on http://www.dosideas.com
  • 38 views on http://xp-rs.blogspot.com
  • 31 views on http://chanwook.tistory.com
  • 25 views on http://www.zhuaxia.com
  • 24 views on http://www.kuqin.com
  • 24 views on http://eishay.blogspot.com
  • 23 views on http://eltechie.blogspot.com
  • 22 views on http://www.forschung-direkt.eu
  • 20 views on http://technos.ouvaton.org
  • 20 views on http://www.jroller.com
  • 19 views on http://www.cnblogs.com
  • 19 views on http://www.pitako.com.br
  • 15 views on http://www.20ju.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.infosertec.com.ar
  • 11 views on http://www.i2e.com.es
  • 10 views on http://glemir.xplore.cn
  • 9 views on http://www.planetacodigo.com
  • 9 views on http://jujuyjug.blogspot.com
  • 9 views on http://technofriends.in
  • 9 views on http://www.sysbus.com
  • 8 views on http://blog.csdn.net
  • 7 views on http://www.baobah.es
  • 7 views on http://www.eishay.com
  • 5 views on http://blog.techminder.com
  • 5 views on http://www.hanrss.com
  • 5 views on http://analyse.org.ua
  • 5 views on http://www.tica2.ro
  • 4 views on http://static.slideshare.net
  • 4 views on http://zhuaxia.com
  • 4 views on http://www.fatloss247.com
  • 3 views on http://onlinevideogamerental.org
  • 3 views on http://elanso.com
  • 3 views on http://reader.yodao.com
  • 2 views on http://communitas.tumblr.com
  • 2 views on http://space.zdnet.com.cn
  • 2 views on http://www.newsss.com
  • 2 views on http://www.traveltravellers.com
  • 2 views on http://www.realnobile.com
  • 2 views on http://meshino.tistory.com
  • 2 views on http://brentwoodtennesseerealestate.org
  • 2 views on http://holographicmemorydiscs.com
  • 2 views on http://www.searchfull.net
  • 2 views on file://
  • 2 views on http://lj-toys.com
  • 2 views on http://www.filescon.com
  • 1 views on http://www.techq.com
  • 1 views on http://www.howtospeakspanishonline.com
  • 1 views on http://blogcommentservice.com
  • 1 views on http://longevitygenetics.com
  • 1 views on http://xianguo.com
  • 1 views on http://xss.yandex.net
  • 1 views on http://203.208.37.104
  • 1 views on http://confluencetest.fr.sogeti.com
  • 1 views on http://about-insomnia.org
  • 1 views on http://about-antiques.org
  • 1 views on http://sexingkits.com
  • 1 views on http://avikara.com
  • 1 views on http://www.losingweight247.com
  • 1 views on http://www.cars-and-motorcycles-and-trucks.com
  • 1 views on http://209.85.135.104
  • 1 views on http://falkayn.blogspot.com
  • 1 views on http://blog.linkedin.com.nyud.net:8090
  • 1 views on http://20ju.com
  • 1 views on http://www.moviecern.com
  • 1 views on http://www.game-games-gamer.com
  • 1 views on http://www.bidderdirectory.com
  • 1 views on http://www.hainei.com
  • 1 views on http://www.sport-xblog.com
  • 1 views on http://www.rapidshareabc.com
  • 1 views on http://www.beauty-fashion-jewelry.com
  • 1 views on http://www.business1-finance1.com
  • 1 views on http://web-and-host.com
  • 1 views on http://www.marketing-xblog.com
  • 1 views on http://www.sport-icx.com
  • 1 views on http://64.233.183.104

less

Flagged as inappropriate Flag as inappropriate
Flag as innappropriate

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

Cancel

Categories