20
Grupo: Bruno Brito Thiago Lima

Node slide

Embed Size (px)

DESCRIPTION

Seminário sobre NodeJS para disciplina de Sistemas Distribuídos na Faculdade IDEZ.

Citation preview

Page 1: Node slide

Grupo:Bruno BritoThiago Lima

Page 2: Node slide

A Web HojeUsuários

Page 3: Node slide

A Web HojeLinguag

ensWebSer

vers

Page 4: Node slide

A Web HojeArquite

tura•Síncrona•Uma thread por request• Requisições bloqueantes.

Precisa melhorar!!

Page 5: Node slide

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 ?

Page 6: Node slide

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

Page 7: Node slide

Um pouso sobre

Node.js

Page 8: Node slide

Google V8

JavaScrípt Engine

Page 9: Node slide

O que é

Node.js?

Page 10: Node slide

Qual o objetivo

doNode.js?

Page 11: Node slide

O objetivo declarado do Node é :

Fornecer uma maneira fácil de criar programasde rede escaláveis

Page 12: Node slide

O que Node.js soluciona?

Page 13: Node slide

O que Node.js utiliza?

•Javascript do lado servidor •Paradigma orientado a eventos•Paradigma de Call Back

Page 14: Node slide

Arquitetura• Thread Pool – pilha de request ;

• Event Loop – Thread consumidora.

MonoThread

Page 15: Node slide

Processo

Requisição

Req1

Req2

Req 3Req1

Req2

RequisiçãoRequisição

Resposta

Resposta

Thread PoolEvent Loop

Fluxo

Page 16: Node slide

Instalação

• apt-get install node• yum install node

Linux

• node-v0.6.3.msi Windows installer

Windows

Page 17: Node slide

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

Page 18: Node slide

Demostração

Page 19: Node slide

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");

Page 20: Node slide

Fim!! Duvidas??