Grupo:Bruno BritoThiago Lima
A Web HojeUsuários
A Web HojeLinguag
ensWebSer
vers
A Web HojeArquite
tura•Síncrona•Uma thread por request• Requisições bloqueantes.
Precisa melhorar!!
A Web HojeEstudo de
casoComo manter conectado 10,20,30 mil usuários simultâneos ?Arquitetura Atual• 30 mil threads no servidor
• Escalar horizontalmente e verticalmente
Achou o problema ?
A Web HojePatterns para atender
muitos requests• Finalize os requests o mais rápido possível.Patterns para atender
alta concorrência• Evite threads, use event loop.
Escutei Node.js ?
Twisted - python
Tambem fazem isso! O
k!
ruby
Um pouso sobre
Node.js
Google V8
JavaScrípt Engine
O que é
Node.js?
Qual o objetivo
doNode.js?
O objetivo declarado do Node é :
Fornecer uma maneira fácil de criar programasde rede escaláveis
O que Node.js soluciona?
O que Node.js utiliza?
•Javascript do lado servidor •Paradigma orientado a eventos•Paradigma de Call Back
Arquitetura• Thread Pool – pilha de request ;
• Event Loop – Thread consumidora.
MonoThread
Processo
Requisição
Req1
Req2
Req 3Req1
Req2
RequisiçãoRequisição
Resposta
Resposta
Thread PoolEvent Loop
Fluxo
Instalação
• apt-get install node• yum install node
Linux
• node-v0.6.3.msi Windows installer
Windows
NPMNode Package Manager
Instala os pacotes necessários do projeto, parecido com as gens do ruby.
instalação: curl http://npmjs.org/install.sh | sh
Demostração
Hello World!
var http = require('http'); http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World');
}).listen(1337, "127.0.0.1");
Fim!! Duvidas??
Top Related