11

高性能でスケーラブルな Comet サーバーの構築を目指しており、最初に GlassFish で Java Grizzly を使用することを考えました。

しかし、いくつかの調査の結果、Node.JS は非常に単純であり、パフォーマンスが主張されているため、優先される選択肢として急速に採用されていることがわかりました。

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

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

両方を使用した実際の経験と、最終的に何が最良の選択になるかを聞いてうれしいです.

ありがとう!

4

4 に答える 4

13

同じ著者によるブログ投稿、つまりIs node.js best for Cometの投稿をさらに読むと、彼はなぜ再び Java ベースのソリューション (Netty) に戻って満足しているのかを説明しています。面白い読み物になりそうです。

于 2010-12-20T10:21:05.707 に答える
5

これは古くてすでに回答された質問であることは知っていますが、私の経験が役立つと思います.

私は Node.js をテストするための小さなペット プロジェクトを開始しました。それはどのように「感じ」、どのようにプログラミングするかです。このようなエコシステムでの作業の容易さに感銘を受けました。Node.js コードは簡単に作成できます (ただし、その非同期パラダイムは従来のプログラマーにとってそれほど単純ではありません)、ライブラリーは簡単に構築できます。npm でさえ驚くほど簡単です。独自のコードをライブラリとして提供する最も簡単な方法は、それをパブリック パッケージにすることです。

ただし、Node.js を操作するための優れたツールはあまりありません。何をするにも簡単すぎるためか、ほとんどのライブラリは部分的に実装され、文書化されていないソリューションです (そして私も罪を犯しています)。

また、Node.js の関連する違いは JavaScript 言語ではなく、非同期 I/O モデルであることに注意してください。これは Node.js の最も興味深い側面ですが、非同期プログラミング スタイルは、Web 開発の従来の方法ほど十分にテストされていません。宣伝されているのは本当に驚くべきことなのかもしれません。

たとえそれが報われたとしても、そのような (少なくとも今でも) 変わったコードベースを維持するのに十分な開発者がいるでしょうか? Node.js の非同期の「生き方」から多くの利点を得ることができる場合は、Twisted for Python などのより統合された言語とフレームワークを使用できます (これは私の好みの言語なので、私の意見に注意してください :) )。Javaにもこのようなものがあるかもしれません。いずれにせよ、あなたの質問はプログラミング パラダイムよりも言語に焦点を当てているため、現時点ではこのモデルにあまり関心を持っていないのではないでしょうか。

だから...いいえ、Node.jsで専門的に何かを開発するつもりはありませんが、勉強するのは楽しくて有益だと思います.

于 2011-08-12T00:55:09.407 に答える
3

私の意見では、Node.JSとGrizzlyで栄光を与えられたCometの非同期アプローチには大きな欠陥があります。

于 2011-01-10T08:13:36.103 に答える
2

最近のテスト (2012 年 8 月) では、Node.js は 1 つの 16 GB RAM サーバーから 100 万の単一接続を処理できました。

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

于 2012-12-06T22:58:48.170 に答える