1

クライアント側で dnode、shoe、browserify を使用し、サーバー側で NodeJS と dnode/shoe を使用する小さなシステムを構築しました。リアルタイム Web アプリケーションの唯一のプロトコルとして dnode (RPC) を使用するのが良い考えかどうか疑問に思っています。

DNode またはその他の RPC インターフェイスの利点を見てみましょう。関数をリモートで呼び出すことができるのが気に入っています (RPC)。クライアントからサーバーへ、およびサーバーからクライアントへの通信に一貫したインターフェイスが得られるため、Ajax よりも確実に優れています。また、Ajax には HTTP オーバーヘッドが伴うため、Ajax よりもわずかなパフォーマンスが得られると確信しています。

ただし、RPC を使用すると、負荷分散とサーバー上のクライアント接続に対処する必要があります。しかし、これはどの WebSocket 実装にも当てはまります。しかし、他の Websocket 実装では、クライアントがサーバーからのイベントをリッスンし、それらのイベントに応答する、より伝統的なイベント ベースのシステムがあります。EventEmitters を使用してこの種のインターフェイスを複製しようとしましたが、ひどいもので、ハンドラーが多すぎるという警告が表示され続けます。うーん!

アプリケーションの開発に使用できる、軽量でクリーンなインターフェイスを実現したいと考えています。堅牢で、多くのクライアントに拡張できるもの。しっかりした感じが必要です。

この投稿を書いている私の質問が何であるかはよくわかりません。私が作成したこのコードベースを更新して、接続が失われないようにし、全体的により堅牢にすることを任されています。私は自分のアプリケーションに関するアドバイスや相談を切望しているだけだと思います。このトピック (RPC とリアルタイム Web アプリケーション) について、私と直接話してくれる人はいますか?

読んでくれてありがとう。

4

1 に答える 1

0

私は、いくつかの RPC ライブラリが非常にクールであると思われたのと同じトピックのいくつかを調査してきましたが、大規模なアプリにはまったく実用的ではありませんでした。私は実際にNowJSから始めましたが、それが死んでいるプロジェクトであることに気付き、DNode/Shoe/Browserifyに移行し、最終的にSocketStreamに移行しました汚れた仕事の一部を、統一された目標を持つプロジェクトにオフロードしようとしています。私は本当に、このテーマに関して他の人がすでに行ったことを書き直したくありませんでした.socketstreamはそれを簡単にします. 質問に戻ると、彼らのページでわかるように、SocketStream はスティッキー セッションを使用します。これは大きな仮定ですが、今後の開発がなければ、現時点ではおそらく回避できないものです。私が言及した理由は、スケーリングに関する限り、彼らが取り組んでいることのいくつかについて話しているからです. 読むか、開発者に連絡して、彼と話し合うことができるかどうかを確認する価値があるかもしれません. 幸運を!

于 2013-03-02T05:47:39.360 に答える