問題タブ [web-farm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ASP.NETアプリケーションのスケーリング
これは非常に幅広い質問ですが、役立つヒントが得られることを願っています。現在、単一のサーバーで実行されるASP.NETアプリケーションがあります。増加する顧客の負荷に対応するために、スケールアウトする必要があります。だから私の計画は次のとおりです。
1)ASP.NETとWebコンポーネントを5台のサーバーにスケールアウトします。
2)データベースをファームに移動します。
アプリケーションに関する限り、データベースは単一のIPアドレスであるため、データベースに問題が発生することはないと思います。ただし、ASP.NETとWeb層について懸念しています。私がすでに心配しているいくつかの問題:
ラウンドロビン方式で5つのサーバーのそれぞれへの要求をファームアウトするロードバランサーのみを実装する最も簡単なモデルですか?
HTTPS接続とSSL接続に問題はありますか?リクエストが行われるたびに異なる物理サーバーで終了できるようになりましたか?(たとえば、パフォーマンス?)
クッキーを介したセッションの維持(ログオン)に関して懸念はありますか?私の推測はノーですが、理由を完全に説明することはできません... ;-)
セッションデータ自体(保存サーバー側)に懸念はありますか?明らかに、サーバー間でセッション状態を複製する必要があります。または、どういうわけか、リクエストを単一のサーバーにのみ送信するように強制する必要があります。いずれにせよ、ここに問題があります...
asp.net - Web ガーデンを使用して Web ファーム セッションの問題をシミュレートしますか?
IIS アプリケーション プールの "Web ガーデン" の概念に出くわしました。つまり、複数のプロセスが同じ Web ページを提供する場合です。私の理解では、これは ASP.NET InProc セッションが Web ファームと同じ問題を抱えていることを意味します。
私の質問は、実稼働環境が Web ファームであり、開発/テスト環境がそうでないと仮定すると、開発/テストで「Web ガーデン」を設定すると役立つでしょうか? これは、マルチプロセス/サーバーの問題を早期に発見するのに役立つか、少なくともすべてが期待どおりに機能することを確認するのに役立つと考えています.
iis-7 - IIS 7 での A/B テスト
IIS7 と Web ファームを使用して A/B テスト環境をセットアップすることに興味があります。しかし、Microsoft のApplication Request Routing (ARR) ソリューションで問題に直面しました。
誰かが Web ファーム ツールキットを使用してセットアップする方法についてのアイデアを共有できますか?
すべてのリクエストがルールに従う必要があることを IIS で定義する方法を知る必要があります。たとえば、トラフィックの 50% をホスト #1 に送信し、残りを 2 番目のホストに送信します。
.net - Web ファームでの認証
Web アプリケーション (.NET 3.5+) のアイデアを考えると
- ブラウザ
- ウェブアプリ
フォームを使用した認証は、同様のコード行になります
FormsAuthentication.SetAuthCookie(strUsrNm, True)
これは、負荷分散されていないサーバー インスタンスでは問題ありません。負荷分散された状態 (スティッキーセッションなし/無限) で認証がどのように機能し、クライアント IP、ユーザーパスワード、またはログインをブラウザーに保存することはできません。
- ブラウザ
- ロードバランサ
- || Web アプリ (サーバー 1 上) || Web アプリ (サーバー 2 上)
制限: データベース セッションなし、AD サーバーなし (例: 外部ユーザーへのケータリング)
つまり、負荷分散された状況で、ユーザーが再認証せずに他のサーバーに対して認証された場合、アプリケーションはユーザーが誰であるかをどのように認識しますか。
ありがとう
asp.net - Azure(およびおそらくWebファーム)のさまざまなインスタンス間で変更されるSessionID
WebRoleが1つあるが、Cookieなしのセッションを使用するインスタンスが複数あるAzureプロジェクトに問題があります。アプリケーションはセッションストレージを必要としないため、セッションストレージプロバイダーを使用していませんが、SessionIDを追跡する必要があります。どうやら、SessionIDはWebRoleインスタンス全体で同じである必要がありますが、説明なしで突然変更されます。一部のデータを追跡するためにSessionIDを使用しているため、これは非常に重要です。
問題を再現するには:
クラウドプロジェクトを作成します。
ASP.NETWebロールを追加します。すでにその中にあるコードで十分です。
開ける
Default.aspx
/li>SessionID
現在を表示するコントロールとポストバックを発生させるボタンを追加します応答を少し遅らせるボタンのイベントハンドラーを追加します。
/li>開ける
Web.Config
Cookieなしのセッションを有効にします。
/li>プロジェクトを実行し、アドレスバーのセッションIDに注意を向けながら、しばらくの間「PostBack」ボタンをすばやく繰り返し押します。何も起こりません。セッションIDは常に同じです:)。やめろ。
開ける
ServiceConfiguration.csfg
4つのインスタンスを有効にします。
/li>Web.configに、VisualStudioによって自動的に追加されたマシンキーに関連する行があることを確認します。(system.webの最後にあります)。
- プロジェクトを再実行し、すばやく繰り返し「ポストバック」ボタンをしばらく押して、アドレスバーのセッションIDに注意してください。
SessionID
しばらくすると、どのように変化するかがわかります。
なぜこうなった?私の知る限り、すべてのマシンがを共有しているmachineKey
場合、セッションはそれらの間で同じである必要があります。Cookieの場合、問題はありません。問題は、Cookieなしのセッションが使用されている場合にのみ発生するようです。
SessionID
私の推測では、複数のインスタンスがあり、あるインスタンスで生成されたものWebRole
が別のインスタンスに移動し、拒否されて再生成されたときに、何か問題が発生していると思います。WebRole
すべてのが同じであるため、これは意味がありませんmachineKey
。
問題を見つけて、それをより明確に見るために、私は自分自身を作成しましたSessionIDManager
:
そしてそれを使用するには、WebConfigでこの行を変更します。
これで、SessionID
どれだけ速く、どれだけ長く叩いても、が変わらないことがわかります。これらの2行のコメントを外すと、ASP.NETが新しいsessionIDを作成していることがわかります(すでに1つある場合でも)。
ASP.NETに新しいセッションを作成させるには、サイト内の絶対URLにリダイレクトするだけです。
なぜこれがCookieなしのセッションで発生するのですか?
私のソリューションはどの程度信頼できMySessionIDManager
ますか?
敬具。
更新:
私はこの回避策を試しました: サイトレベルの自動構成によって上書きされたユーザー指定のマシンキーですが、問題はまだ解決していません。
/li>また、セッション開始ハンドラーを配置してデータを追加することについても試しましたが、うまくいきませんでした。
/li>
バウンティアップ!
asp.net-mvc-3 - ARR と MVC3: 仮想パス 'null' が別のアプリケーションにマップされますが、これは許可されていません
Microsoft Web Farm Framework を試すというScott Guthrie の提案に従い、Application Request Routing を追加し、ASP.NET MVC 3 の変更されていない Web サイトを追加しました。IIS の「URL 書き換え」のインバウンド ルールを削除すると、Web サイトが表示されます。リクエストを Web ファームにリダイレクトするために 1 つ追加すると、The virtual path 'null' maps to another application, which is not allowed
.
Web サイトを表示するには、どの web.config エントリまたはその他の構成が必要ですか?
asp.net - asp.netのWebファームとWebガーデンとは何ですか?
WebファームとWebガーデンの違いをリアルタイムのシナリオで説明してもらえますか?
asp.net - ASP.Net 4.0 Web ファームのキャッシュ
ASP.Net 4.0 では、webfarm を使用する場合にキャッシュ オブジェクトを格納する最良の方法です。
1) Windows Server AppFabric
2) 独立したステート マシン/SQL Server
3) サードパーティのキャッシング メカニズム / その他 ?.
web-farm - Web ファーム フレームワークの RegKey プロバイダーに関するドキュメントはありますか?
Web ファーム フレームワークの「アプリケーション プロビジョニング」プロバイダーに関するドキュメントはありますか?