セッションインスタンス化モードでのWCFのホスティングに関する状況に直面しています。実際の状況をカプセル化し、それを複製する例を提案しています...以下のように。
ホストされるサービスは「MyService」です。私はそれをホストするためにWindowsサービスを使用しています..httpエンドポイントで。
500の同時セッションをサポートする必要があります(契約はワークフローベースであるため、シングルトンとパーコールは実行できません...ログイン...機能1、機能2、ログアウト..)
それぞれ200の同時セッションをサポートするハードウェア機能を備えた4台のサーバーがありますセッション。
そこで、1台のサーバーでサービスを「http:// myserver / MyService」などのホスティングパスを持つルーター(ServiceHost S = new ServiceHost(RouterService))として構成しました。単純な負荷分散メカニズムを設定し、ルーターテーブルを適用して、実際のサービスコピーがホストされている他の3つのサーバーに着信要求をリダイレクトしました...( "http:// myserver / MyService1"、 "http:// myserver / MyService2 "、" http:
それはまだ機能していません...ヒットが200を超えるとすぐに...通信エラーが始まります...500の同時呼び出しが行われると、ルーター(機能200)もクライアントへの接続を維持する必要があるためだと思います実際のサービスサーバーと一緒に...(セッションコールモードで)..私の考えは正しいですか?
私の質問は...
1)私のアプローチは正しいか概念に欠陥がありますか...ハードウェアチームにNLBを設定するように依頼する必要があります...
2)要求が何らかの形でPerCallにできるように、契約を具体的に再設計する必要があります...
3)誰かそのようなシステムはクラウド(Windows Azure)でホストする必要があることを提案しました...関連するコストを調べる必要があります...しかしそれは正しいです...
4)セッションベースの呼び出しを処理するためにWCFをホストする際に必要な最良のプラクティスは何ですか。
私の質問は複雑で、「正しい」答えは1つではないことを理解しています...しかし、どんな助けや洞察も本当にありがたいです。
ありがとう