brownbag nodejs
TRANSCRIPT
Node.JSValtech – 16 februari 2016
Magnus Jonsson
Konsult på Valtech
● Gränssnittsutveckling● SEO● Analys● Node.js
Agenda
JavaScript – kort recapNode.js – What is?
Fördelar med Node.jsTillämpningsområden
JavaScript – The bad parts
JavaScript – The good parts
JavaScript – The good part
Asynkron exekvering
Asynkron exekvering
• Kod exekveras rad för rad
• Anrop som kräver väntetid kommer att exekveras men motorn väntar inte på svar
Vad gör Node.js speciellt ?
CPU (L1 Cache) 1 ns
RAM 250 ns
Disk (SSD) 0,1 ms
Disk (HDD) 10 ms
Databas (LAN) 200 ms
Accesstider
CPU (L1 Cache) 1 s
RAM 4 minuter, 10 sekunder
Disk (SSD) 27 timmar, 47 minuter
Disk (HDD) 115 dagar, 18 timmar
Databas (LAN) 6 år, 125 dagar
Accesstider
Ett webb-request
Web server
Max: 2
Max: 2
Zzzz
CPU (L1 Cache) 1 s
RAM 4 minuter, 10 sekunder
Disk (SSD) 27 timmar, 47 minuter
Disk (HDD) 115 dagar, 18 timmar
Databas (LAN) 6 år, 125 dagar
Accesstider
Ett webb-request i Node.js
Event queue
Event loop
Callbacks
Event queue
Event loop
Callbacks
Node.js
Event queue
Event loop
Callbacks
Event queue
Event loop
Callbacks
request
requestdbanrop
Asynkron exekvering !
Så Node.js är snabbare ?…
Nej
Men, du sa ju...
Node skalar bättre !
Så, när ska man använda det ?
När ska man använda Node.js ?
• Applikationer som skickar/hämtar lite data ofta
– API för JS-webbappar
– API för mobilappar
– Livekommunikation
• Webbfront framför tyngre system
När ska man inte använda Node.js ?
• Stora applikationer
– Dela upp applikationen, använd Node.js där det passar.
• Applikationer som kräver mycket processorkraft
– Sätt Node.js framför beräkningsapplikationen
Tecken på att Node.js kan användas
• Diskussioner om lastbalansering dyker upp
• Systemet förväntas få många anrop
• Det pratas om att lyfta ut delar ur huvudapplikationen
• Termen 'API' dyker upp i diskussionen
Organisationer som använder Node.js
Organisationer som bidrar till utvecklingen av Node.js
Tack för att ni lyssnat!
- Frågor ?
Magnus Jonsson@dronar