Node.js vs Java para aplicação Comet

Procuramos construir um servidor Comet escalável e de alto desempenho, e pensamos primeiro em usar o Java Grizzly com o GlassFish.

Mas depois de algumas pesquisas, vemos que o Node.JS está tomando rapidamente como a escolha preferida devido à extrema simplicidade, e alegou desempenho:

http://news.ycombinator.com/item?id=1088699

http://amix.dk/blog/post/19484

Ficarei feliz em ouvir algumas experiências reais de usar ambos, e o que pode ser a melhor escolha no futuro.

Obrigado!

Se você ler mais as postagens do mesmo autor, ou seja, o post, é o node.js melhor para Comet , ele explica por que ele voltou à solução baseada em Java (Netty) e está feliz com isso. Eu acho que seria uma leitura interessante.

Eu sei que esta é uma pergunta antiga e já respondida, mas acho que minha experiência pode ser útil.

Eu comecei um projeto de estimação para testar o Node.js – como ele “sente” e como programar nele. Fiquei impressionado com a facilidade de trabalhar nesse ecossistema: o código Node.js é fácil de escrever (embora seu paradigma asynchronous não seja tão simples para o programador convencional), as bibliotecas são fáceis de construir, etc. etc. Mesmo o npm é incrivelmente fácil: Acabei de encontrar a maneira mais simples de fornecer seu próprio código como uma biblioteca é fazer um pacote público dele!

No entanto, não há muitas ferramentas boas para trabalhar com o Node.js. Talvez porque seja muito fácil fazer qualquer coisa, a maioria das bibliotecas são parcialmente implementadas, soluções não documentadas (e eu também sou culpado ).

Além disso, observe que a diferença relevante de Node.js não é a linguagem JavaScript, mas o modelo de E / S assíncrona. É o aspecto mais interessante do Node.js, mas o estilo de programação assíncrona não é tão bem testado quanto o modo convencional de desenvolvimento web. Talvez seja realmente a maravilha que é propagandeada – ou talvez não seja tão boa quanto prometida.

Mesmo que valha a pena, você terá desenvolvedores suficientes para manter uma base de código tão incomum (pelo menos ainda)? Se você pode obter muitas vantagens do “modo de vida” asynchronous do Node.js, você pode usar linguagens e estruturas mais consolidadas, como o Twisted for Python (que é o meu idioma preferido, portanto, cuide da minha opinião 🙂 ). Pode haver algo assim para o Java também. De qualquer forma, eu suspeito que você não tenha muito interesse neste modelo por enquanto, já que sua pergunta se concentra mais em linguagens do que no paradigma de programação, então o Node.js não tem muito a oferecer para você de qualquer maneira.

Então … não, eu não desenvolveria algo professonaly no Node.js por enquanto, embora eu ache que é divertido e instrutivo estudar.

Na minha opinião, a abordagem assíncrona para Comet glorificada em Node.JS e Grizzly é profundamente falha .

Em um teste mais recente (agosto de 2012), o Node.js conseguiu lidar com 1 milhão de conexões únicas a partir de um único servidor de 16 GB de RAM.

http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/

Intereting Posts