2

パブリッシュ/サブスクライブ シナリオで WCF サーバーの低レイテンシを実現するにはどうすればよいですか? 具体的には、クライアントはデータをサブスクライブして更新を受信します。問題のレイテンシは、データの変更とクライアントが変更を受信する間の遅延ですか? CPU、メモリ、帯域幅の要件は重要ではなく、高くなる可能性があります。

基本は明白です: バイナリのシリアル化、名前付きパイプなど。または、更新のバッチを単一のメッセージとして送信して、RPC/ヘッダーのオーバーヘッドを減らすには?

例として使用できるコードまたはインターフェイスを備えたプロジェクトがいくつかあるのでしょうか?

4

3 に答える 3

1

見ましたか

http://geekswithblogs.net/BVeldhoen/archive/2008/01/26/wcf-latency-test-harness.aspx

さまざまなバインディングとデータ サイズが考慮されます。

于 2010-01-20T14:41:23.020 に答える
1

二重チャネルを使用する場合、クライアントをサーバーに接続させ、その際に別のサービス コントラクトをコールバックとして渡すことができます。次に、サーバーはこのコールバックを使用して、更新が利用可能になったときにクライアントに送信します。

私はこのアプローチを使用して社内の pub-sub メカニズムを作成しました。待機時間は、WCF を介して可能な限り低くなります。

目標とするパフォーマンスは?

この MSDN の記事では、WCF 二重チャネルの使用について説明しています。

于 2009-09-09T13:22:22.457 に答える
1

包括的なソリューションではありませんが、データのサイズとネットワーク転送速度に関連するレイテンシを削減するには、Google プロトコル バッファを使用して、ネットワーク経由でデータを圧縮できます。GitHub プロジェクトはこちら.

于 2009-09-09T13:33:59.073 に答える