Más contenido relacionado
La actualidad más candente (20)
Similar a Node.JS - Campus Party Brasil 2011 (20)
Más de Emerson Macedo (17)
Node.JS - Campus Party Brasil 2011
- 1. Capus Party 2011
Emerson Macedo
@emerleite
http://nodecasts.org
http://codificando.com
http://groups.google.com/group/nodebr
- 18. ~ 70% dos adultos
serão usuários
regulares de
redes sociais
- 30. PHP 1995
Java EE 1998
- 31. PHP 1995
Java EE 1998
ASP.Net 2001
- 32. PHP 1995
Java EE 1998
ASP.Net 2001
Ruby on Rails 2004
- 33. PHP 1995
Java EE 1998
ASP.Net 2001
Ruby on Rails 2004
Django 2006
- 35. Usuários de Internet no Mundo (em milhões)
2.000 milhões
2000
1500
1000
500 360 milhões
0
2000 2010
- 47. Escalando DB na horizontal
Shard Shard Shard Shard Shard Shard
Database Database Database Database Database Database
- 71. Qual é o problema
das tecnologias atuais ?
- 74. Nosso código costuma
ser escrito assim
O que o software está fazendo
enquanto a querie executa ?
- 81. Rails ou Django
RUNTIME
BLOCK
PROCESS
RUNTIME
BLOCK
PROCESS
HTTPD Database
RUNTIME
BLOCK
PROCESS
RUNTIME
PROCESS BLOCK
- 84. Java
Servlet Container
HTTPD Servlet Database
- 85. Java
Servlet Container
HTTPD Servlet Database
- 86. Java
Servlet Container
HTTPD Servlet Database
- 87. Java
Servlet Container
Thread
HTTPD Servlet Database
- 88. Java
Servlet Container
Thread BLOCK
HTTPD Servlet Database
- 89. Java
Servlet Container
Thread BLOCK
Thread BLOCK
Thread BLOCK
HTTPD Servlet Database
Thread BLOCK
Thread BLOCK
Thread BLOCK
Thread BLOCK
- 98. concurrency × reqs/sec
Apache vs NGINX
concurrency × reqs/sec
http://blog.webfaction.com/a-little-holiday-present
http://blog.webfaction.com/a-little-holiday-present
- 99. concurrency × reqs/sec
Apache vs NGINX
concurrency × memory
http://blog.webfaction.com/a-little-holiday-present
http://blog.webfaction.com/a-little-holiday-present
- 103. Pense bem antes de
usar uma thread por
request quando
precisar suportar alta
concorrência
- 120. Latência de I/O
L1 3 ciclos
L2 14 ciclos
RAM 250 ciclos
Disco 41.000.000 ciclos
- 121. Latência de I/O
L1 3 ciclos
L2 14 ciclos
RAM 250 ciclos
Disco 41.000.000 ciclos
Rede 240.000.000 ciclos
- 122. Latência de I/O
L1 3 ciclos
L2 14 ciclos
RAM 250 ciclos
Disco 41.000.000 ciclos
Rede 240.000.000 ciclos
- 126. I/O não bloqueante
L1 3 ciclos
L2 14 ciclos
RAM 250 ciclos
I/O bloqueante
Disco 41.000.000 ciclos
Rede 240.000.000 ciclos
- 128. Servidor TCP simples
em NodeJS
O código acima faz com que a execução
retorne imediatamente ao event loop
- 132. POSIX Assync I/O não
suportado por todos
os S.Os
libmysql_client não
permite query async
- 139. Pilha de execução
http_parse(1)
socket_readdable(1)
ev_loop()
I/O em disco (bloqueante)
- 140. Pilha de execução
load(“index.html”)
http_parse(1)
socket_readdable(1)
ev_loop()
I/O em disco (bloqueante)
- 141. Pilha de execução
http_parse(1)
socket_readdable(1)
ev_loop()
I/O em disco (bloqueante)
- 146. Pilha de execução
http_parse(2)
socket_readdable(2)
ev_loop()
I/O em RAM (não bloqueante)
- 147. Pilha de execução
http_respond(2)
http_parse(2)
socket_readdable(2)
ev_loop()
I/O em RAM (não bloqueante)
- 148. Pilha de execução
http_parse(2)
socket_readdable(2)
ev_loop()
I/O em RAM (não bloqueante)
- 153. Pilha de execução
http_respond(1)
file_loaded()
ev_loop()
Arquivo carregou do disco
- 158. Arquitetura Web
Nginx
Ruby Ruby Ruby Ruby Ruby
or or or or or
Python Python Python Python Python
- 159. Arquitetura Web
Nginx
Ruby Ruby Ruby Ruby Ruby
or or or or or NodeJS
Python Python Python Python Python
- 163. Arquitetura Web
NodeJS
Quando NodeJS estiver bem maduro, a
idéia de Ryan é que ele seja a porta de
entrada. Será ?
- 209. Obrigado !!!
Emerson Macedo
@emerleite
http://nodecasts.org
http://codificando.com