Länger schlafen mit Node.js

3,641 views

Published on

Slides für den Vortrag auf der OOP 2013

Länger schlafen mit Node.js

  1. 1. Länger schlafen mitNode.js@ OOP 2013 Folie 1 24. Januar 2013 Christian Heger © Zühlke 2013
  2. 2. Eine vernetzte Zukunft.Zwei Probleme.
  3. 3. Festes Schema ist von Übel.
  4. 4. Be conservative in what you do,be liberal in what you accept from others.
  5. 5. Antenna Web AppAntenna Bus FrontAntenna PersistAntenna
  6. 6. Antenna Web Hub Front AppAntenna FrontAntenna Hub PersistAntenna
  7. 7. Und das ist alles, was man über Nodewissen muss:1.2.3.Länger schlafen mit Node.js | Christian Heger Bild 2: David Benbennick 24. Januar 2013 Folie 7 © Zühlke 2013
  8. 8. Message Loop
  9. 9. Multi-Threaded vs. Single ThreadedLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 9 © Zühlke 2013
  10. 10. Multi-Threaded vs. Single ThreadedLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 10 © Zühlke 2013
  11. 11. Multi-Threaded vs. Single ThreadedLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 11 © Zühlke 2013
  12. 12. Event EmitterLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 12 © Zühlke 2013
  13. 13. Continuation Passing Style Callback Callback Callback EventLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 13 © Zühlke 2013
  14. 14. Und wie soll das gehen?Länger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 14 © Zühlke 2013
  15. 15. Streams
  16. 16. Streams a.pipe(b); Readable Stream Writable Stream a b a.on(readable, callback); var sent = b.write(data); var data = a.read(size);Länger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 16 © Zühlke 2013
  17. 17. Streams a.pipe(b); b.pipe(c); Duplex Stream a c bLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 17 © Zühlke 2013
  18. 18. Streams a.pipe(b).pipe(a);Länger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 18 © Zühlke 2013
  19. 19. Packages
  20. 20. Was ist drin?Package.jsonLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 20 © Zühlke 2013
  21. 21. Dependency managementLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 21 © Zühlke 2013
  22. 22. Module HierarchyLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 22 © Zühlke 2013
  23. 23. Web Applications• Express – Sinatra-ähnliches Framework – Routing – Template-basierte View Engines• Passport – Authentifizierung gegen alle gängigen Provider – OAuth, OpenID, Facebook Connect• ASP.NET MVC < Node.js < RoRLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 23 © Zühlke 2013
  24. 24. Real time web • Socket.IO – Eigenes Protokoll – Sockets, Flash, AJAX, IFrame, JSONP – Nicht interoperabel • ws – Nur Web Sockets – Aber das richtig: Autobahn-Testsuite – InteroperabelLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 24 © Zühlke 2013
  25. 25. One millionconnections!
  26. 26. Deployment
  27. 27. Blue/Green Deployment Web Services Blue Blue Slice Slice Users Router Green Green Slice SliceLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 27 © Zühlke 2013
  28. 28. Fleet Drone Git Drone Hub Drone DroneLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 28 © Zühlke 2013
  29. 29. Seaport Register Antenna@1.5.1 Sea Service port Use port 8731 ClientLänger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 29 © Zühlke 2013
  30. 30. Länger schlafen?
  31. 31. Programmierzeit15 Tage(davon 10 ohne jede Erfahrung in JavaScript)1 Prozess === 1 Core3 GB RAMVMWare ESX Server3000 – 4000Nachrichten / Sekunde3 Wochen lang
  32. 32. Alles Bestens?
  33. 33. Und privat so?
  34. 34. Hinweise• LXJS 2012 – Substack on Streams www.youtube.com/watch?v=lQAV3bPOYHo• NodeUp Podcast nodeup.com• Stream Handbook github.com/substack/stream-handbook• Blue/Green Deployment martinfowler.com/bliki/BlueGreenDeployment.html• Semantic Versioning semver.org/• Autobahn Web Sockets Test Suite http://autobahn.ws/• A million connections http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/Länger schlafen mit Node.js | Christian Heger 24. Januar 2013 Folie 34 © Zühlke 2013
  35. 35. Fragen?Meinungen?Kommentare?Christian Hegerabout.me/christian.hegerDiese Folienhttp://slidesha.re/Wn9scy

×