今日の初めに、私は Kaazing's WebSocket API forHTML5に出くわしました。
見た目は素晴らしいですが、WebSocketでリアルタイムの財務更新の可能性を調査しているだけなので、このアーキテクチャを計画する際に避けるべきいくつかの推奨事項と落とし穴を聞きたいと思います。
私はASP.NetMVC、そしておそらくいくつかのWPF/SilverlightMVVMを見ています。
より良い(そしてその理由)他のWebSocket APIといくつかの良い例はありますか?
また、WebSocketはどのような種類のトラフィックを処理できますか?つまり、リアルタイムで更新するシステムに100万人を超えるユーザーがいる場合、ソフトウェアアーキテクチャはWebSocketを実装しているため、ハードウェア要件はどのように変化しますか?
遅い答え。これは、.NETに基づいており、MVCを連想させる方法でモデルバインディング/コントローラーや検証などをサポートするWebSocketサーバー(フレームワーク)です。使い始めるのはとても簡単です。新しいMVC3プロジェクトを作成し、次のように入力するだけです。
インストールパッケージXSockets
VisualStudioでのパッケージマネージャーコンソールの使用
はい、RFC6455とHibi00をサポートし、「古い」ブラウザ用のフォールバックがあります。
実稼働の準備ができたソリューションができたので、これに戻ってくると思いました。私は、基本的に自分で構築できるものに基本的に多額の費用を請求しているいくつかのベンダーを調べました。それらはすべて優れた製品を持っており、市場投入までの時間が重要な場合は、短期的にはこれらのプレハブオプションが最適な場合があります。
Socket.IOを使用してNode.JSをいじくり回した後、私は注意を SignalR -。NETの非同期シグナリングライブラリに移し、リアルタイムのマルチユーザーインタラクティブWebアプリケーションの構築を支援しました。ハブの実装。
ほんの数行のJavaScriptですべての手間のかかる接続構築を管理し、接続に適切なトランスポートプロトコルを自動的に選択します。
負荷分散された環境では、Redisなどのキャッシングサーバーの実装が必要です。
CodeProjectでのWebSocketクライアントとサーバーのC#実装は次のとおりです。
WebSocketのブラウザーの数はかなり制限されていますが、モバイルブラウザーはそれをサポートしています。しかし、私は PokeIn リバースajaxライブラリのようなよりクロスブラウザフレンドリーな選択肢の使用を検討しているでしょう
https://github.com/Olivine-Labs/Alchemy-Websockets
これがオープンソースのWebSocketサーバーとクライアントライブラリです。 C#/ Javascript。まだWebSocketを持っていないブラウザ用のフラッシュソケットへのフォールバックが含まれています。モバイルブラウザを含むほとんどのWebブラウザでテストされており、どこでも動作します。
リアルタイムの財務?処理する予定の接続の数はわかりませんが、これは現在利用可能な最もスケーラブルなソリューションでもあります。