Mostrando postagens com marcador servers. Mostrar todas as postagens
Mostrando postagens com marcador servers. Mostrar todas as postagens

22 de jul. de 2011

Primeiro contato com Node.j e mais sobre non-blocking servers



Dae gurizada..

Na sequência do meus estudos sobre non-blocking web servers vou dar uma olhada no Node.js.


Vou utilizar como base esta apresentação do Ryan Dahl, que está disponível no site do node.js

Antes de olhar sobre Node.js é importante entender o C10K Problem e Non-blocking I/O

Node.js
Node.js nada mais é que uma biblioteca que roda em cima do virutal machine chamada v8. V8 é uma JavaScript Engine escrita pelos  engenheiros da Google e é utilizada no Google Chrome.

Node utiliza o v8 para fazer o trabalho de comunicação (networking) corretamente. 

Não existe "waiting time"
Óbvio, é isso que faze dele um non-blocking server: Não ter "waiting time".

Você não consegue mandar o node dormir (sleep). Não é que você seja encorajado a não fazer um "sleep", na verdade você não tem poder para isso. 

O que o Node faz é definir Timeouts e deixar processos em idle (ocioso), fazendo com que o consumo de CPU vá para zero.

De uma olhada nesse código: