针对Comet应用程序的Node.js与Java

SyB*_*Ber 11 java comet grizzly node.js

我们期望构建一个高性能,可扩展的Comet服务器,并首先考虑将Java Grizzly与GlassFish一起使用.

但经过一些研究,我们发现Node.JS由于极端简单而迅速成为首选,并声称性能:

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

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

我将很高兴听到一些使用这两者的真实体验,以及最终可能成为最佳选择.

谢谢!

San*_*rma 13

如果你想进一步阅读同一作者的帖子,即post,is node.js最适合Comet,他解释了为什么他再次回到基于Java的解决方案(Netty)并对此感到满意.我想这将是一个有趣的阅读.

  • 感谢博客文章的URL,精彩阅读! (3认同)

bra*_*zzi 5

我知道这是一个陈旧且已经回答的问题,但我认为我的经验可能会有所帮助.

我开始了一个小宠物项目来测试Node.js - 它的"感觉"以及如何编程.在这样的生态系统中工作的难易程度给我留下了深刻的印象:Node.js代码很容易编写(尽管它的异步范例对于传统的程序员来说并不那么简单),库很容易构建等等.甚至npm也非常简单:我刚刚找到了提供自己代码的最直接的方法,因为库是一个公共的包!

但是,使用Node.js的工具并不多.也许是因为它容易做任何事情,大多数库都是部分实现的,没有文档的解决方案(我也很有罪).

另请注意,Node.js的相关区别不是JavaScript语言,而是异步I/O模型.这是Node.js最有趣的方面,但异步编程风格并没有像传统的Web开发方式那样经过良好测试.也许它真的是被宣传的奇迹 - 或许它不如承诺的那么好.

即使在它获得回报的情况下,您是否有足够的开发人员来维护这样一个(至少仍然是)不寻常的代码库?如果您可以从Node.js的异步"生活方式"中获得很多优势,那么您可以使用更多的统一语言和框架,例如Twisted for Python(这是我的首选语言,所以请注意我的意见:) ).Java也可能有这样的东西.无论如何,我怀疑你现在对这个模型没什么兴趣,因为你的问题更多地关注语言而不是编程范例,所以无论如何Node.js都没有太多东西给你提供.

所以...不,我现在不会在Node.js中开发一些专业的东西,虽然我觉得它既有趣又有教育意义.