可能な最良のパフォーマンスのWCFサービスホスティングシナリオを決定しようとしています。私は非常に大量のオンプレミスWebアプリケーションを組み立てています(最終的にはAzureでホストされます)。 ASP.Netアプリケーションは、NetTcpBindingを使用してワーカーロールでホストされているWCFサービスと通信します。ワーカーロールWCFパフォーマンス
1)ワーカーロールでサービスをホストし、セキュリティのためにACSを使用するサービスバスを使用してクライアントとサービスを接続すると、ワーカーロールでWCFサービスをホストするよりも時間がかかりますが、エンドポイントに直接接続し、ユーザー名/パスワードの方法を使用します。
2)RESTサービスは、バイナリの代わりにHTTPを使用するため、NetTcpBindingサービスよりも遅くなります。
最初は、セキュリティメカニズムがどれほどきれいであるかが好きなのでServiceBusアプローチを選択しましたが、進行中の接続がDirectになることができない限り、リレーで重大なオーバーヘッドが発生します。
これらの前提に基づいて、 -WCFワーカーロールでホストされているサービス -customユーザー名/パスワードまたはACSユーザー名/パスワードを使用する?????? -NetTcpBinding
これは正しいと思いますか?もう1つの要件は、作成する必要のあるセキュリティ固有のコードを最小限に抑えることです。だから、私はACSのユーザー名/パスワードモデルか????
最高のパフォーマンスを発揮するカスタムコードセキュリティを設定する方法については、どのような見識もあります。
おかげ
ありがとうございます。内部エンドポイントの問題は、WebアプリケーションがAzure内でホストされるまで使用できないことです。当初はそうではありません。 dbとサーバーの間のレイテンシについてのあなたの知見は興味深いものです。私は自分の発見を絶対に投稿します。投稿ありがとう! –
これは興味深いことです:「Windows Azureは各パブリックエンドポイントに負荷分散を提供し、アプリケーションを必要なだけ多くのインスタンスに拡張することができます。アプリケーションがステートレスであることを保証する必要があります負荷分散されていないエンドポイントだけが内部エンドポイントであるため、Webロールから、複数のワーカーロールインスタンスの1つなど、ロール間の通信の一部を実行している場合は、内部エンドポイントでwcfサービスを使用する場合は、それらのインスタンス間で負荷分散を処理する必要があります。投稿した投稿 –