• Save
Node.js w dużej skali
Upcoming SlideShare
Loading in...5
×
 

Node.js w dużej skali

on

  • 1,240 views

 

Statistics

Views

Total Views
1,240
Views on SlideShare
1,240
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

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…
Post Comment
Edit your comment

Node.js w dużej skali Node.js w dużej skali Presentation Transcript

  • Node.js w dużej skaliDreamLab Onet.plKraków, 25 marca 2012
  • Plan • Onet.Cloud • Metody skalowania • Specyficzne aspekty działania w dużej skali • Uruchomienie SG
  • NodeJS
  • Dynamiczna rzeczywistość (Cloud)
  • NodeJS SDK
  • Skalowaniehttp://www.visualphotos.com/
  • Skalowanie – Wątki vs Procesy http://www.michaeljohngrist.com/2009/02/ryogoku-sumo/
  • Procesy - Cluster
  • Procesy - Cluster
  • Procesy - Cluster
  • Isolate http://www.flickr.com/photos/pepemczolz/5314122337/
  • Wątki - node-threads-a-gogofunction fibo (n) { return n > 1 ? fibo(n - 1) + fibo(n - 2) : 1;}function cb (err, data) { process.stdout.write(data); this.eval(fibo(35), cb);}var thread= require(threads_a_gogo).create();thread.eval(fibo).eval(fibo(35), cb); https://github.com/xk/node-threads-a-gogo
  • A my robimy to tak
  • A my robimy to tak Storage
  • A my robimy to tak Storage
  • A my robimy to tak LB Storage
  • Problem 1. Ograniczenia http://hdw.eweb4.com/out/126191.html
  • Problem 2. Pule połączeń NodeJS App Storage Business Connection Logic Pool
  • Problem 2. Pule połączeń NodeJS App Storage Business Connection Logic Pool
  • Problem 2. Pule połączeń NodeJS App Storage Business Connection Logic Pool
  • Problem 2. Pule połączeń NodeJS App Storage Business Connection Logic Pool
  • Problem 2. Pule połączeń NodeJS App Storage Business Connection Logic Pool
  • Problem 2. Pule połączeń NodeJS App Storage Business Connection Logic Pool
  • Problem 2. Pule połączeń NodeJS App Storage Business Connection Logic Pool
  • Problem 2. Pule połączeń NodeJS App Storage Business Connection Logic Pool
  • Problem 2. Pule połączeń NodeJS App Storage Business Connection Logic Pool
  • Problem 2. Pule połączeńexport.request = function(options, cb) { if (options.agent === undefined) { options.agent = getAgent(options.host, options.port); } else if (options.agent === false) { options.agent = new Agent(options); } return exports._requestFromAgent(options, cb);};
  • Problem 3. Zarządzanie konfiguracją http://www.wheatandtares.org/2010/11/29/change-without-change/
  • Problem 3. Zarządzanie konfiguracją http://svn.apache.org/repos/asf/zookeeper/logo/
  • Problem 4. Operacje blokujące • Buffer.toString() • JSON.parse • Gzip
  • NodeJS + moduły w C = NodeJS++ http://www.tecnologiadiaria.com/2010/12/configurar-tiempo-expiracion-cache.html
  • Uriparser 3 razy szybszy niż url.parse Tak robią wszyscy: var handler = function(req, res) { var http = require(http); var u = http.parse(req.url); } Tak robimy my: var handler = function(req, res) { var uriparser = require(uriparser); var u = uriparser.parse(http://www.onet.pl/); } https://github.com/DreamLab/node-uriparser
  • CPU affinity http://www.ksl.com/?nid=148&sid=12793814
  • Kilkaset tyś req/min http://www.onet.pl/
  • Uptime > 99.9% http://www.onet.pl/
  • Wiele razy wycofane testy http://9gag.com/
  • Charakterystyka ruchu Noc. Nuuuda.
  • Charakterystyka ruchu Ludzie przyszli do pracy i wchodzą na Onet ;)
  • Charakterystyka ruchu 100% ruchu z chmury!!
  • Charakterystyka ruchu Koniec testów. Otwieramy kolejnego szampana
  • Charakterystyka ruchu Użytkownicy przeczytali już cały Onet i idą spać
  • Dziękuję za uwagęBlog http://it-onet.blogujacy.pl/Github https://github.com/DreamLab