ユーザーのコメット スタイルにリアルタイムの通知をプッシュする Web アプリを開発しています。現在のソリューションでは、Servlet 3.0 を使用しています。一般的な考え方は、
- リクエストの AsyncContext はアプリケーション スコープ Map に入れられます。
- 1 つのバックグラウンド スレッドがキューで通知を待機します。
- 通知の場合は、マップ内の適切な AsyncContext にプッシュされます。
NIO コネクタで Tomcat 7.0 を使用しています。一般的に、私はこれと非常によく似た方法を使用しています: http://www.javaworld.com/javaworld/jw-02-2009/jw-02-servlet3.html?page=3
node.js を調べる機会はまだありません。私のユースケースのほとんどは(おそらく)node.jsの恩恵を受けないかもしれませんが、おそらくこのコメット通知はそうするでしょう.
私が理解しているように、両方のソリューションには要求するスレッドが1つもないため、両方のシステムをスケーリングする必要があります。
私の質問は、Comet のスケーリングに Servlet 3.0 非同期モードまたは Node.js を使用することの一般的な長所と短所は何ですか?