Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services

on

  • 10,203 views

 

Statistics

Views

Total Views
10,203
Views on SlideShare
9,221
Embed Views
982

Actions

Likes
6
Downloads
46
Comments
1

35 Embeds 982

http://www.acquia.com 592
http://informationastronaut.blogspot.com 144
http://informationastronaut.blogspot.in 45
http://informationastronaut.blogspot.de 25
http://informationastronaut.blogspot.ca 21
http://informationastronaut.blogspot.fr 21
http://informationastronaut.blogspot.co.uk 17
http://informationastronaut.blogspot.se 16
http://informationastronaut.blogspot.co.il 12
http://informationastronaut.blogspot.jp 11
http://informationastronaut.blogspot.mx 10
http://babbalum.7thglobe.com 8
http://informationastronaut.blogspot.com.es 8
http://informationastronaut.blogspot.com.br 7
http://informationastronaut.blogspot.ch 5
http://informationastronaut.blogspot.ro 5
http://informationastronaut.blogspot.hk 4
http://informationastronaut.blogspot.hu 4
http://informationastronaut.blogspot.sg 4
http://informationastronaut.blogspot.it 3
http://informationastronaut.blogspot.kr 3
http://informationastronaut.blogspot.gr 2
http://informationastronaut.blogspot.sk 2
http://informationastronaut.blogspot.dk 2
http://informationastronaut.blogspot.nl 1
http://informationastronaut.blogspot.ie 1
http://informationastronaut.blogspot.no 1
http://informationastronaut.blogspot.ae 1
http://informationastronaut.blogspot.com.ar 1
http://informationastronaut.blogspot.cz 1
http://informationastronaut.blogspot.fi 1
http://informationastronaut.blogspot.ru 1
http://127.0.0.1 1
http://informationastronaut.blogspot.pt 1
http://informationastronaut.blogspot.com.au 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Well, I've taken a plunge into synthv1 and have come up with some usable presets. As soon as I've got about 10 or 15 presets I'll pack 'm into a tarball and post a link. Big brother I'm not a synth connoisseur so don't expect über-awesome presets. When it comes to documentation I have three words: rtirq README procrastination.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Lessons Learned Integrating Drupal with nodejs/mongodb Powered Web Services Presentation Transcript

  • 1. Drupal and Node.js Ad hoc caches & Scalable Drupal powered web services
  • 2. /about/me Founder @Chief Geek @
  • 3. “There’s a module for that!”
  • 4. • Multiple response format (REST, XMLRPC,JSON, JSON-RPC, SOAP, AMF)• Pluggeble access control• Amazing integration with available modules (Views, System, node, taxonomy, authentication ... )
  • 5. but....
  • 6. “If all you have is a hammer, Everything looks like a nail”
  • 7. Gavri’s AppSmall ec2 instance1.7 GB of Ram
  • 8. All Memory - 1700MB Free Memory - 1500MB Avg Drupal process size ~ 30MB1500 / 30 = 50 Concurrent
  • 9. Introducing Node.js“Node is a server-side JavaScript interpreterthat changes the notion of how a servershould work.Its goal is to enable a programmer to buildhighly-scalable applications and write codethat handles tens of thousands ofsimultaneous connections on one, and onlyone, physical machine.”
  • 10. Introducing Node.js“Node is a server-side JavaScript interpreter thatchanges the notion of how a server should work.Its goal is to enable a programmer to buildhighly-scalable applications and write code thathandles tens of thousands of simultaneousconnections on one, and only one, physicalmachine.”
  • 11. Introducing Node.js• Built on the V8 engine (chrome’s veryfast browser engine).• Can handle thousands of concurrentconnections with minimal overhead.• Ability to share code between server andclient• Vibrant Community• Great package management (npm)
  • 12. All Memory - 1700MB Free Memory - 150000k example node.js process size ~ 100k1500000 / 100 = 15000 Concurrent
  • 13. “But If we improve concurrency by 500X won’t that just - Jam Mysql even more?”
  • 14. Introducing MongoDB• Document oriented storage• Full index support (+geo)• Replication and High Availability• Querying• Map Reduce
  • 15. +Both: • speak Javascript • “Understand” json documents • Are Very fast • are very popular and together are a path well traveled (relatively speaking)
  • 16. When To use this pattern?• JSON API’s• Single Page Apps• Shelling out to unix tools• Streaming Data• Soft Realtime Applications
  • 17. When NOT to use this pattern?• CPU Heavy tasks• Simple CRUD / HTML apps• Just for the BuzzWord compliance.
  • 18. Let’s look in depth in to one of these usecases... • JSON API’s • Single Page Apps • Shelling out to unix tools • Streaming Data • Soft Realtime Applications
  • 19. 1. Node based API Serverserves mobile/widgets etc..2. MongoDB databasestores state.3. Services module dealswith interacting with Drupal4. Drupal is the front forcontent creation
  • 20. Swifto DEMO
  • 21. 1. Node based API Serverserves mobile/widgets etc..2. MongoDB databasestores state.3. Services module dealswith interacting with Drupal4. Drupal is the front forcontent creation
  • 22. <?php
  • 23. { Code & presentation @ github https://github.com/linnovate/nodejsdrupal
  • 24. contact@linnovate.net{ For any help setting up an ad-hoc cache or for any interesting funky Drupal challenge we’d be glad to help...
  • 25. Questions For more information visit: http://www.acquia.com eMail: sales@acquia.com or Call: 888.9.ACQUIA Follow us: @acquia Lior: contact@linnovate.net Kieran Lal – kieran@acquia.com Today’s webinar recording will be posted to:http://acquia.com/resources/recorded_webinars