brownbag nodejs

37
Node.JS Valtech – 16 februari 2016

Upload: valtech-ab

Post on 12-Jan-2017

287 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Brownbag nodejs

Node.JSValtech – 16 februari 2016

Page 2: Brownbag nodejs

Magnus Jonsson

Konsult på Valtech

● Gränssnittsutveckling● SEO● Analys● Node.js

Page 3: Brownbag nodejs

Agenda

JavaScript – kort recapNode.js – What is?

Fördelar med Node.jsTillämpningsområden

Page 4: Brownbag nodejs
Page 5: Brownbag nodejs

JavaScript – The bad parts

Page 6: Brownbag nodejs

JavaScript – The good parts

Page 7: Brownbag nodejs

JavaScript – The good part

Page 8: Brownbag nodejs

Asynkron exekvering

Page 9: Brownbag nodejs

Asynkron exekvering

• Kod exekveras rad för rad

• Anrop som kräver väntetid kommer att exekveras men motorn väntar inte på svar

Page 10: Brownbag nodejs
Page 11: Brownbag nodejs

Vad gör Node.js speciellt ?

Page 12: Brownbag nodejs

CPU (L1 Cache) 1 ns

RAM 250 ns

Disk (SSD) 0,1 ms

Disk (HDD) 10 ms

Databas (LAN) 200 ms

Accesstider

Page 13: Brownbag nodejs

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

Page 14: Brownbag nodejs

Ett webb-request

Page 15: Brownbag nodejs
Page 16: Brownbag nodejs

Web server

Page 17: Brownbag nodejs
Page 18: Brownbag nodejs

Max: 2

Page 19: Brownbag nodejs

Max: 2

Zzzz

Page 20: Brownbag nodejs

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

Page 21: Brownbag nodejs

Ett webb-request i Node.js

Page 22: Brownbag nodejs

Event queue

Event loop

Callbacks

Page 23: Brownbag nodejs

Event queue

Event loop

Callbacks

Node.js

Page 24: Brownbag nodejs

Event queue

Event loop

Callbacks

Page 25: Brownbag nodejs

Event queue

Event loop

Callbacks

request

requestdb­anrop

Page 26: Brownbag nodejs

Asynkron exekvering !

Page 27: Brownbag nodejs

Så Node.js är snabbare ?…

Page 28: Brownbag nodejs

Nej

Page 29: Brownbag nodejs

Men, du sa ju...

Page 30: Brownbag nodejs

Node skalar bättre !

Page 31: Brownbag nodejs

Så, när ska man använda det ?

Page 32: Brownbag nodejs

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

Page 33: Brownbag nodejs

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

Page 34: Brownbag nodejs

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

Page 35: Brownbag nodejs

Organisationer som använder Node.js

Page 36: Brownbag nodejs

Organisationer som bidrar till utvecklingen av Node.js

Page 37: Brownbag nodejs

Tack för att ni lyssnat!

- Frågor ?

Magnus Jonsson@dronar