10

ログイン、写真などのユーザーアクティビティのライブアップデート(Facebookなど)をレンダリングするプロジェクトのアーキテクチャオプションを検討しています。これの2つの主要なUIコンポーネントは、新しい通知が一覧表示される自動更新スクロール領域です(写真など)、および更新されたメッセージ数などで更新されるツールバー。

この候補は、Jabber / Comet/XMPPベースのWebSocketテクノロジーです。

コメットキャンプ:

WebSocketキャンプ:

これは既存のインフラストラクチャがMicrosoftスタックであるため、Javaベースのサーバーを混在させたくありません。これを言うと、(非常に魅力的な)WebSync(Comet)とSuperWebSocket(WebSockets)が残ります。ただし、PokeinのDLL統合は、.Netプロジェクトにもかなりシームレスに組み込まれています。

.Netの実際の本番レベルのWebSocketイニシアチブは他にありますか?MicrosoftスタックにWebSocketを採用するのは時期尚早であり、Kazingのようなものを支持する必要がありますか?

現在のユーザーベースのブラウザの種類とバージョンに関するレポートをまだ待っています(HTML5の互換性を確認しています)。この数は少なくなるのではないかと思います(古いユーザーベース)。その場合は、Cometオプションが勝者になります。

他に考慮すべきことは何ですか?

Sockets.IOなどの.Netイニシアチブのいくつかを見ると、これはまだ初期段階では多すぎて、大規模な本番システムに適用できないのではないかと思います。

上記のテクノロジーや製品のいずれかを使用したことのある人からコメントをもらうことはできますか?

ありがとう。

アップデート

私はまだ、本番レベルで信頼できるいくつかの優れたWebSocketサーバーを探しています。XSocketとSignalRを最近見つけた後、Websocketキャンプに追加しました。Hoewver、現時点ではまだ2つの主要な候補があります。それは、彼らが驚くほど素晴らしいマーケティングチーム、開発者が利用できる優れた資料(API、ビデオ)を持っているという事実のためかもしれません。他の多くの実装はまだ生まれたばかりの段階にあるようです。ここでは、少数のクライアントとの接続の例が示されています。これはテクノロジーを示していますが、これらのデモは重要なペイロード/負荷容量データでバックアップされていません。KaazingとLightStreamerは、以下の要件を満たしています。

XSocketsにはいくつかの良い例がありますが、ここでも、実際の本番メトリックがいくつか欠落しています。

SignalRはまだ実際の実稼働環境でテストされていないようです。スケールアウトソリューションは開発中ですが、まだ安定していないようです。このプロジェクトが将来どのように行われるかを楽しみにしています。

主な要件は次のとおりです。

  1. フォールバックテクノロジーを実装する機能(HTML5 / WebSocketが利用できない場合)
  2. 多数の同時接続と1秒あたりのメッセージ数
  3. スケーラブル-より大きなトラフィック要件のためにサーバー/ノードを追加する機能
4

5 に答える 5

3

WebSync v4 は、必要に応じてロング ポーリング/コールバック ポーリングにフォールバックすることに加えて、WebSocket を使用します。WebSync の WebSocket はすべて標準の HTTP ポート上にあるため、ルーター/フィルターウォールなどに問題はありません。

「通常の」システムでは、最大 20k の同時 (ノードあたり) および最大 100k メッセージ/秒が表示されるはずです。ただし、システムや送信するメッセージの種類などに大きく依存するため、これらは非常に大まかな数値です。(ノードあたり) 50,000 ユーザー、(別のテストでは) 300,000 メッセージ/秒の高さを見てきました。 .

(免責事項: 私はフローズン マウンテンで働いています)

于 2012-11-28T20:24:05.760 に答える
1

利用可能な最も安定した Comet 実装を選択しているようです。それらはすべて安定しているように見え、ノードごとに数万から数十万のユーザーをホストできます.

それで、次は何でしょうか?たとえば、PokeInはVisualJS.NETを介して Web アプリケーションのすべての側面をホストします。ビデオ-1ビデオ-2

これは、このライブラリの組み込み機能と、実行できるさまざまな機能も示しています。

さらに、最新バージョンは、クライアントとサーバー間のメッセージの Base64 シリアライゼーションをサポートしているため、ネットワーク パッケージ上のネイキッド JSON メッセージはもうありません。

更新: PokeIn 2.0 には組み込みの WebSocket サポートがあります。

于 2012-02-16T19:58:20.200 に答える
1

理由は次のとおりです。上記で既に述べたものについては、WebSocket を使用します。

WebSockets を使用する場合は、IOCP (I/O 完了ポート) 上で動作する Windows をサポートする高性能 WS サーバーである Autobahn WebSockets も検討してください。

後者は、多数の接続 (数十万) にスケーリングする場合に重要です。

免責事項: 私は Autobahn WebSockets の作成者です。ベースとなる技術はOSSです。現在、仮想アプライアンス (VMware/sphere 上で実行) として提供されるリアルタイム メッセージング ハブである商用製品の準備を進めています。完全に統合され、強化されたアプライアンスです。後者では、プレーンな古い HTTP/POST を使用して、ハブ経由で通知をプッシュすることもできます。これには、WS 経由で接続されたクライアントにディスパッチできる REST API があります。プライベート ベータ テストに興味がある場合は、私に連絡してください ..

于 2012-02-16T10:16:18.887 に答える
0

従来のコメットソリューションよりもWebSocketで得られるパフォーマンスの向上は、数桁の範囲です。私は間違いなくWebSocketキャンプに行きます。これは、従来のコメットベンダーによる2つのテクノロジーの比較であり、WebSocketを支持して150倍以上の係数を測定しています(700ミリ秒対50,000ユーザーで3ミリ秒)

Kaazingに代わっていくつかのメモ:

Kaazingは、サーバープラットフォームとしてMicrosoftで完全にサポートされています。また、ご存知のとおり、Kaazingは、Microsoftスタック(.NETやSilverlight)など、多くのお客様が喜んで使用しているさまざまなクライアントライブラリとテクノロジをサポートしています。

さらに、KaazingはWebSocket上に豊富なビジネスプロトコルを提供し、クライアントコードでXMPPを直接「話す」ことができます。

ブラウザのサポートについて:Kaazingは、非常に優れたWebSocketエミュレーションを提供し、IE6に至るまで、古いブラウザを含むすべてのブラウザをサポートします。あなたはこのブログ投稿でそれについてもっと読むことができます。

成熟度について:Kaazing WebSocket Gatewayは2009年から出荷されており、金融、ロジスティクス、ゲーム、小売など、多くの業界で多くの注目を集める顧客がいます。一流のサポートを備えた非常に成熟したプラットフォーム。

于 2012-02-15T19:51:49.303 に答える