Pereira Caio Ribeiro - Node.js. Aplicacoes web real time com Node.js стр 4.

Шрифт
Фон

14 colaboradores criou o Node.js. Esta tecnologia possui um modelo inovador, sua

arquitetura é totalmente non-blocking thread (não-bloqueante), apresentando uma

boa performance com consumo de memória e utilizando ao máximo e de forma

eficiente o poder de processamento dos servidores, principalmente em sistemas que

produzem uma alta carga de processamento. Usuários de sistemas Node estão livres

de aguardarem por muito tempo o resultado de seus processos, e principalmente

não sofrerão de dead-locks no sistema, porque nada bloqueia em sua plataforma e

desenvolver sistemas nesse paradigma é simples e prático.

Esta é uma plataforma altamente escalável e de baixo nível, pois você vai progra-

mar diretamente com diversos protocolos de rede e internet ou utilizar

bibliotecas

que acessam recursos do sistema operacional, principalmente recursos de sistemas

baseado em Unix. O Javascript é a sua linguagem de programação, e isso foi possível

graças à engine Javascript V8, a mesma utilizada no navegador Google Chrome.

2

Casa do Código

Capítulo 1. Bem-vindo ao mundo Node.js

1.3

Single-thread

Suas aplicações serão single-thread, ou seja, cada aplicação terá instância de um único processo. Se você esta acostumado a trabalhar com programação concorrente em

plataforma multi-thread, infelizmente não será possível com Node, mas saiba que

existem outras maneiras de se criar um sistema concorrente, como por exemplo,

utilizando clusters (assunto a ser explicado no capítulo 9.2), que é um módulo nativo

do Node.js e é super fácil de implementá-lo. Outra maneira é utilizar ao máximo

a programação assíncrona. Esse será o assunto mais abordado durante o decorrer

deste livro, pelo qual explicarei diversos cenários e exemplos práticos em que são

executados em paralelo funções em background que aguardam o seu retorno através

de funções de callback e tudo isso é trabalhado forma não-bloqueante.

1.4

Event-Loop

Node.js é orientado a eventos, ele segue a mesma filosofia de orientação de eventos

do Javascript client-side; a única diferença é que não existem eventos de click do

mouse, keyup do teclado ou qualquer evento de componentes HTML. Na verdade

trabalhamos com eventos de I/O do servidor, como por exemplo: o evento connect

de um banco de dados, um open de um arquivo, um data de um streaming de

dados e muitos outros.

O Event-Loop é o agente responsável por escutar e emitir eventos no sistema. Na

prática ele é um loop infinito que a cada iteração verifica em sua fila de eventos se um determinado evento foi emitido. Quando ocorre, é emitido um evento. Ele o executa

e envia para fila de executados. Quando um evento está em execução, nós podemos

programar qualquer lógica dentro dele e isso tudo acontece graças ao mecanismo de

função callback do Javascript.

O design event-driven do Node.js foi inspirado pelos frameworks Event Machine

do Ruby (http://rubyeventmachine.com) e Twisted do Python (http://twistedmatrix.

com) . Porém, o Event-loop do Node é mais performático por que seu mecanismo é

nativamente executado de forma não-bloqueante. Isso faz dele um grande diferencial

em relação aos seus concorrentes que realizam chamadas bloqueantes para iniciar os

seus respectivos Event-loops.

3

1.5. Instalação e configuração

Casa do Código

1.5

Instalação e configuração

Para configurar o ambiente Node.js, independente de qual sistema operacional você

utilizar, as dicas serão as mesmas. É claro que os procedimentos serão diferentes para cada sistema (principalmente para o Windows, mas não será nada grave).

Figura 1.2: Página de Download do Node.js.

Instalando Node.js: Primeiro passo, acesse o site oficial: (http://nodejs.org)

e clique em Download, para usuários do Windows e MacOSX, basta baixar os

seus instaladores e executá-los normalmente.

Para quem já utiliza Linux com

Package Manager instalado, acesse esse link (https://github.com/joyent/node/wiki/

Installing-Node.js-via-package-manager) que é referente as instruções sobre como

instalá-lo em diferentes sistemas. Instale o Node.js de acordo com seu sistema, caso

não ocorra problemas, basta abrir o seu terminal console ou prompt de comando

e digitar o comando:

node -v && npm -v para ver as respectivas versões do

Node.js e NPM (Node Package Manager) que foram instaladas.

4

Casa do Código

Capítulo 1. Bem-vindo ao mundo Node.js

Figura 1.3: Versão do Node.js e NPM utilizada neste livro.

A última versão estável utilizada neste livro é Node 0.10.22 e NPM 1.3.14.

Alias é altamente recomendável utilizar esta versão ou superior, pois recen-

temente foi identificado uma vulnerabilidade de ataque DoS em versões an-

teriores, veja mais detalhes no blog oficial: (http://blog.nodejs.org/2013/10/22/

cve-2013-4450-http-server-pipeline-flood-dos)

Dica: Todo conteúdo deste livro

será compatível com versões do Node.js 0.8.0 ou superiores. Configurando ambiente de desenvolvimento: Para configurá-lo basta adicionar uma variável de am-

biente NODE_ENV no sistema operacional. Em sistemas Linux ou OSX, basta

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке