1

WCF デュプレックス通信に関する情報と、WCF と帯域幅の使用を扱う際のベスト プラクティスを探しています。最初に私のアプリケーションを説明します...

.. アプリケーション自体はコンピュータ管理用です。ネットワーク上の各コンピューターにはエージェント (Windows サービス) があり、サーバー (WCF Duplex サービスを実行する Windows サービス) と通信する必要があります。問題のネットワークには約 6000 台のマシンがあり、おそらくその約 75% が常にオンになっていますが、アプリケーションは一度にオンになっているすべてのマシンを処理し、資産の拡張を処理できる必要があります。同じように。

エージェントとサーバー間の会話は制限され、ほとんどの場合、PC 名/IP アドレス/ログオン ユーザーでサーバーを更新するためにエージェントが「チェックイン」するだけです。エージェントには、サーバーに設定された構成の詳細に応じて実行するタスクがいくつかあります。

いくつかのサブ質問を含む2つの実際の質問があります...

  1. 6000 ~ 7000 のエージェントが接続してからサーバーにチェックインするのは妥当ですか。

    1a. もしそうなら、頻繁にチェックインせずに接続を維持するためにこれらが「チェックイン」する頻度についての提案があります(WCF受信/非アクティブタイムアウトのデフォルトは10分ですが、これを増やしてもかまいません)

  2. エージェント構成を更新する最良の方法は何ですか? 2 つのオプション / アイデアがあります

    2a. サーバーで構成が変更されると、これらの変更がエージェントにプッシュ (コールバック) されます。WAN のフラッディングが心配です。フラッディングせずにすべてのエージェントに送信する良い方法はありますか

    2b. エージェントには構成の更新期間があり、サーバーに接続して最新の構成の詳細を取得します。これにより、WAN のフラッディングの問題が停止します (すべてのマシンがこの更新をまったく同時に実行するわけではありません)。エージェントがサーバーに接続されていても、常に最新であるとは限りません。

これらが賢明な質問であることを願っています。私はWCFサービスに関するこの種の情報をどこでも見回しましたが、正しい方向に私を向ける何かを見つけることさえできません. どんな情報でも大歓迎です。

サイモン

4

1 に答える 1

0

私も同じ種類のシナリオを実装しようとしています。私は次のアプローチでいくつかの研究開発を行いました。

  • wsDualHttpBinding を使用した WCF - このアプローチは、クライアントとサーバーの両方にパブリック IP が必要なため、ローカル ネットワークでは正常に機能しますが、インターネット経由では機能しません。

  • netHttpbinding を使用した Web ソケットを使用する WCF - これは、インターネット経由で二重通信を実装するための最良のオプションですが、残念ながら、このアプローチでは、クライアントとサーバーの両方に win 8 または win 2012 が必要です。

  • nettcpbinding を使用した WCF - これは、私にとって実行可能で最良のアプローチです。インターネット経由で動作させることができ、別のネットワークでテストしました。

今、私の懸念は、何千ものクライアントが WCF サービスのパフォーマンスに影響を与えるように接続することです。誰かがこの種の開発を行った場合は、あなたの提案に大いに感謝します.

于 2013-06-12T05:28:43.870 に答える