ngServer and-collaboratived-development-between-san-francisco-and-tokyo

19,556 views
19,710 views

Published on

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
19,556
On SlideShare
0
From Embeds
0
Number of Embeds
16,746
Actions
Shares
0
Downloads
21
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

ngServer and-collaboratived-development-between-san-francisco-and-tokyo

  1. 1. Server-Side Framework ngServer Powered by Node.js
  2. 2. about: me Yusuke Shinozaki DeNA CTO 2011/3 ~ DeNA @bad_at_math
  3. 3. DeNA with Node.js
  4. 4. Client Smartphone developmentTool Server
  5. 5. ClientSmartphone development
  6. 6. ngCore Game Engine
  7. 7. ngCore Game Engine JavaScript native APIs native APIs iOS Android
  8. 8. ngCore Game Engine JavaScript bind sources to Device N de 1 JS file native APIs native APIs iOS Android * Development Phase
  9. 9. ngCore Game Engine Smartphone developmentTool
  10. 10. ngBuilder Game DevelopmentTool
  11. 11. ngCore Game Engine Smartphone developmentngBuilder Game DevelopmentTool Server
  12. 12. ngServer Powered by Node.js N de ngCore Game Engine Smartphone development ngBuilder Game DevelopmentTool Server
  13. 13. Node.js in production?
  14. 14. Mayday, Mayday!Houston, we’ve got a problem!
  15. 15. unexpectedCPU SPIKES!!! 100 90 80 70 60CPU 50 40 30 20 10 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 time
  16. 16. Suspects
  17. 17. Suspects#1 our code?#2 Node itself?#3 middleware?
  18. 18. Suspects#1 our code?#2 Node itself?#3 middleware?
  19. 19. Real.....V8 GCwith bigger heap
  20. 20. var http = require(http);http.createServer(function (req, res) { res.writeHead(200, {Content-Type: text/plain}); res.end(Hello Worldn);}).listen(1337, "127.0.0.1");var data = [];for(var i=0;i<10000000;i++) { data.push({a:1,b:2,c:3,d:4});}setInterval(function() { data.length;},1000);console.log(Server running at http://127.0.0.1:1337/); https://gist.github.com/1851152
  21. 21. experiencesngServer Powered by Node.js
  22. 22. ngServer Powered by Node.js
  23. 23. Server-side Framework ngServer for social by Node.js Powered game
  24. 24. ngServer Architecture Powered by Node.js Auth Header JSON Device Express Social APIs Mobage OAuth routing rendering JSON Controller memcache Tokenstore job Datastore queue Model mongodb MySQL
  25. 25. ngServer Functions Powered by Node.js ngServer command Models and Controllers MobageAPI project template (generator) profiler benchmarking analytics (abacus) debug hot-reload
  26. 26. ngServer Deployment Powered by Node.js Cache Storage HAProxy HAProxy ngServer ngServer Storage Storage queue Storage 1 ngServer process per 1 cpu core
  27. 27. HostingService
  28. 28. Why international? TK/JP SF/USHigh-Traffic Node.js MySQL MongoDB
  29. 29. Challenges
  30. 30. Challenges
  31. 31. Challenges daily sync
  32. 32. Challenges 17hrs
  33. 33. Challenges 17hrs18:00 1:003:00 10:007:00 14:008:00 15:00
  34. 34. Challenges 17hrs 7:00 14:00 hot time zone11:00 18:00
  35. 35. Challenges
  36. 36. Challengesproblems,bugs awesome! great! horrible LGTM!!! doesn’t work my suggestion is... (><) :D
  37. 37. ChallengesSUPER!! WORTH!! awesome! great!EXCELLLLLENT!!! LGTM!!! another way is... my suggestion is... :D :D
  38. 38. Make everyone delight. Thank you!
  39. 39. Make everyone delight. Thank you!
  40. 40. I’M SOOOO GLAD TO MEEET YOU GUYS!!! It’s super GREAT experience for me to speak HERE in DEVSUMi. wanna talk you more so plz pick me up later, let’s talk about node.js, architecture or anything you want!!! SEE YOU LATERZ, THANK YOU SO MUCH!!!

×