Upload
caio-ribeiro-pereira
View
2.969
Download
1
Embed Size (px)
DESCRIPTION
Light Talk sobre Node.js e suas características inovadoras pelo qual ultimamente anda se destacando entre os programadores por oferecer alto desempenho e grande escabilidade para as aplicações de grande porte. Esse foi o slide que apresentei no Segundo Encontro DevInSantos no dia 29 de outubro de 2011 na Cocento Tecnologia. Se você deseja entrar na comunidade DevInSantos fique atento sobre os próximos encontros seguindo o perfil: http://www.meetup.com/devinsantos/ Link do blog http://www.udgwebdev.com/light-talk-introducao-sobre-nodejs/
Citation preview
Introdução sobre
2˚ Encontro
Quem sou eu?
Caio Ribeiro Pereira Desenvolvedor na Cocento Tecnologia Sistemas de Informação na Unisantos Twitter: @crp_underground Email: [email protected] Blogs:
http://www.udglinux.com http://udgwebdev.wordpress.com http://crpunderground.wordpress.com
Sobre o Node.js Criador: Ryan Lienhart Dahl; Lançado em 2009; Linguagens utilizada:
C++ com 8000 linhas; Javascript com 2000 linhas;
14 colaboradores no projeto; 5100 repositórios no Github; 1129 módulos existente; Versão estável 0.4.12 apenas para Linux e Mac; Versão instável 0.5.10 para Windows;
Introdução Servidor web de alta escalabilidade. Utiliza linguagem Javascript V8.
Principais características
Orientado a eventos de I/O
Compilação Just-in-time
Abstrai funções assíncronas
Concorrência com Threads Não-Bloqueantes
Analogia para Threads Bloqueantes
Analogia para Threads Não-Bloqueantes
Concorrência com Threads Não-Bloqueantes
Servidores web atuais
Twisted – Python - http://twistedmatrix.com Tornado – Python - http://tornadoweb.org Thin – Ruby - http://code.macournoyer.com/thin EventMachine – Ruby http://rubyeventmachine.com Grizzly – Java http://grizzly.java.net Node.js – Javascript http://nodejs.org
Teste de escalabilidade No blog do AkitaOnRails, há um post em que
ele apresenta uns testes de escalabilidade com esses servidores.
Twisted: 4398.17 req/s Tornado: 2498.16 req/s Thin (Ruby 1.8.7): 4619.13 req/s Thin (Ruby 1.9.1): 4777.00 req/s Grizzly: 3523.71 req/s EventMachine: não conseguiu testar Node.js: 6310.62 req/s
Fonte: Blog AkitaOnRails - Brincando com node.js, tornado e thin
Em que Node.js é bom? Construção de um Web Service Restful; Gerenciar fila de concorrências; Servidor de imagens; Resposta em tempo real;
Em que Node.js é ruim? Construção de páginas dinâmicas; Aplicação direta com banco de dados
relacionais; Sistemas transacionais;
O que criar com Node.js Jogos multiplayer online; Aplicações de grande escala de requisições; Aplicações multiprotocolo (DNS, HTTP, TCP, etc); Aplicações assíncronas; Aplicações com respostas em tempo real;
Onde hospedar?
Heroku - http://www.heroku.com Linode - http://www.linode.com Cloud Foundry - http://www.cloudfoundry.com NodeSocket - http://www.nodesocket.com Nodejitsu - http://www.nodejitsu.com
Boas referências Site oficial: http://www.nodejs.org Github: http://github.com/joyent/node Nettuts Plus: http://net.tutsplus.com/tag/node-js Node Begginer: http://www.nodebeginner.org How to node: http://howtonode.org Node Tuts: http://nodetuts.com Node Guide: http://nodeguide.com Node Cloud: http://www.nodecloud.org
Dúvidas?
Obrigado pessoal!