問題タブ [nlb]

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.

0 投票する
8 に答える
3551 参照

asp.net - asp.net、stateserver、NLB、セッションが失われました

stackoverflow の最初の投稿です。素晴らしいフィードバックをお待ちしております :)

現在、Web サイトの負荷分散を試みています。IIS 6 を使用して Windows Server 2003 に 2 クラスターの NLB をセットアップしました。

セットアップをテストしているときに、セッションが失われることがあることがわかりました。1日半後、結果は次のとおりです。

  1. はい、machine.config は両方とも同じ暗号化/復号化キーを持っています。
  2. はい、iis metabase.xml の ID は両方のマシンで同じです。実際には、「AdminACL」を除いて、ファイル全体が同じです。
  3. 両方の Web アプリケーションが「StateServer」で設定され、両方が同じマシンを指しています。

その時点から、Google で検索すると、より少ない情報と考えられる解決策が得られます。

私の知る限り、この問題を引き起こす特定のパターンはありません。たまにしか起こりません。

問題を見つけようとしているときに、リクエストが asp セッション ID Cookie をサーバーに送信したが、サーバーがそれをユーザー セッションにマップしていないことがわかりました。

ということで、クライアントからリクエスト番号xが送られてきて、cookieでセッションがマッピングされ、スムーズに進みました。クライアントからリクエスト番号 x+1 が Cookie とともに送信されましたが、セッションが見つかりませんでした。

両方の要求は、NLB の同じマシンで行われました。

asp trace.axd のスニペットを次に示します。

最初のリクエスト:

リクエストの詳細 セッション ID: j2ffvy45updpc52uhw1mbg55 リクエスト タイプ: GET リクエストの時刻: 11/26/2008 2:58:06 PM ステータス コード: 200 リクエストのエンコーディング: Unicode (UTF-8) レスポンスのエンコーディング: Unicode (UTF-8)

Cookie コレクションのリクエスト

名前 値 サイズ

ASP.NET_SessionId j2ffvy45updpc52uhw1mbg55 42 AID 22 9

応答 Cookie コレクション

名前 値 サイズ

ヘッダー コレクション

名前 値

Cookie ASP.NET_SessionId=j2ffvy45updpc52uhw1mbg55; AID=22

2 番目の要求:

リクエストの詳細 セッション ID: リクエスト タイプ: POST リクエストの時刻: 11/26/2008 2:58:08 PM ステータス コード:
リクエストのエンコード: Unicode (UTF-8) レスポンスのエンコード:

Cookie コレクションのリクエスト

名前 値 サイズ

応答 Cookie コレクション

名前 値 サイズ

ヘッダー コレクション名 値 Cookie ASP.NET_SessionId=j2ffvy45updpc52uhw1mbg55; AID=22

2 番目の要求でわかるように、Cookie はクライアントから送信されますが、asp は「Request Cookies Collection」に Cookie を追加しないようです。それがセッションを見つけられない理由だと思います。

では、なぜ Cookie がセッションにマップされないのでしょうか? それが問題ですか?問題は他の場所にありますか?

ご不明な点がございましたら、お気軽にお問い合わせください。

フィードバックをお寄せいただきありがとうございます。

JF

0 投票する
1 に答える
238 参照

asp.net-mvc - 必要な 3 層 Web サイトの予算 NLB ポリシー

Web サービスとして機能する中央の asp.net mvc サイトをフィードする「クラシック ASP」クライアントがいくつかあります。つまり、jquery ajax を多用して ASP サイトから直接 MVC コントローラーにクエリを実行します。この MVC サイトは、別のボックスで実行されている SQL サーバーにクエリを実行します。すべてのページ ビューでデータベースへの呼び出しを必要とするカスタム セッション プロファイルがあります。

現時点では、クライアント向け Web サイトは mvc サイトと同じボックスに配置されています。ここで、Windows 2008 ネットワーク負荷分散サービスを使用して、大量のトラフィック バーストを抑制し、可用性を維持したいと考えています。限られた予算の中で...

最適なポリシーは何ですか: 2x2 - 2 つの NLBed ボックス上のクライアント サイトと NLBed ボックスの個別のペア上の MVC、または 3 つの NLBed ボックスの単一グループ上の両方?

0 投票する
2 に答える
7878 参照

wcf - WCF サービスの負荷分散エラー - NLB

更新 3:
Visual Studio 2008 テスト プロジェクトを作成し、共有サイト WCF サービス参照へのサービス参照を作成しようとしたところ、次のエラーが発生しました。

「 http://apps.mydomain/MyService.svc 」のダウンロード中にエラーが発生しました。リクエストは HTTP ステータス 400: Bad Request で失敗しました。メタデータに解決できない参照が含まれています: ' http://apps.mydomain/MyService.svc '。コンテンツ タイプ application/soap+xml; charset=utf-8 はサービス http://apps.mydomain/MyService.svcでサポートされていませんでした。クライアントとサービスのバインディングが一致していない可能性があります。リモート サーバーがエラーを返しました: (415) コンテンツ タイプが 'application/soap+xml; であるため、メッセージを処理できません。charset=utf-8' は予期されたタイプの 'text/xml ではありませんでした。charset=utf-8'.. サービスが現在のソリューションで定義されている場合は、ソリューションを構築してサービス参照を再度追加してみてください。

更新 2:
@Nick - 各サーバーの完全修飾パスを使用して各エンドポイントのアドレスを明示的に設定するという提案を試みましたが、それでも同じ結果が得られます。

また、共有サイトの URL で listenUri 属性を設定しようとすると、404 エラーではなく 400 Bad Request エラーが発生します。

更新追加の調査の後、 http://apps1.mydomainhttp:
//apps2.mydomain の間で IIS 構成設定の競合がいくつかあり、「サーバー アプリケーションを使用できません」エラーを回避することができました。

共有サイト ( http://apps.mydomain )を参照しようとすると 404 エラーが発生しますが、 http://apps1.mydomainおよびhttp://apps2.mydomainサービスを参照できます。参照。

元の問題

私の会社ではMicrosoft NLBを使用して、IIS サーバー間のトラフィックの負荷を分散しています。最近、各 IIS 6 Windows Server 2003 Standard Edition SP1 サーバーに WCF サービスを展開しました。IE 7 を使用して共有ドメイン名を参照しようとすると、次のエラーが表示されました。

サーバー アプリケーションを利用できません この Web サーバーでアクセスしようとしている Web アプリケーションは、現在利用できません。Web ブラウザの [更新] ボタンをクリックして、リクエストを再試行してください。

管理者注: この特定の要求の失敗の原因を詳述するエラー メッセージは、Web サーバーのアプリケーション イベント ログにあります。このログ エントリを確認して、このエラーが発生した原因を特定してください。

コンシューマーはサービスを使用するためにhttp://apps.mydomainを指しますが、仮想ドメインはhttp://apps1.mydomainまたはhttp: //apps2.mydomain にマップされます。各サーバーのサービスを参照しても、そのエラーは表示されません。

サービスは現在、匿名の basicHttpBinding を使用しています。

他の誰かがこの問題を経験しましたか?

歴史

このエラーが発生する前に、3 つのドメイン名 ( http://apps.mydomainhttp://apps1.mydomainhttp://apps2.mydomain )を参照すると、次のエラーが表示されました。

このコレクションには、スキーム http のアドレスが既に含まれています。このコレクションには、スキームごとに 1 つのアドレスしか存在できません。

ServiceHostFactoryクラスを使用して .svc ファイルをカスタマイズし、カスタム サービス ファクトリを指定しました。次に、ServiceHostFactory から継承し、必要に応じてオーバーライドして、カスタム ファクトリを作成します。

0 投票する
2 に答える
5880 参照

sharepoint - 複数の Web フロント エンドを使用して SharePoint で Web アプリケーションを作成する

特にコマンド ラインから作成する場合、複数の Web フロント エンド (負荷分散用の同一のもの) を持つ SharePoint サーバー ファームで Web アプリケーションを作成するにはどうすればよいでしょうか? 1 つの Web サーバーで作成すると、他のサーバーにも自動的にコピーされますか? それとも、アプリを他のサーバーに拡張する必要がありますか?

0 投票する
4 に答える
3667 参照

asp.net - ネットワーク負荷分散 (NLB): 「ステートフル」な ASP.NET アプリケーションに適していますか?

ASP.NET Web ファームに関する次の質問を投稿しました。

ASP.NET Web ファームを作成する方法

Guys は、Web ファームを作成する主な方法としてネットワーク負荷分散 (NLB) を使用することを推奨しました。

ただし、ウィキペディアは、「NLBS は ... ステートレス アプリケーションを対象としています」と述べています。ただし、私たちの Web アプリケーションは完全に「ステートフル」です。これは、ユーザーがログインとパスワードでアクセスできるクローズド サイトであり、すべてのユーザーの情報は異なります。ユーザーは自分の取引と操作を見ることができます。

このシナリオでもNLB を使用する必要がありますか?

ありがとうございました。

0 投票する
1 に答える
5720 参照

biztalk - ネットワーク負荷分散 Biztalk インスタンス

製品固有の機能と NLB (Windows 2003 以降のエディションでのネットワーク負荷分散) の採用の両方に関して、Biztalk で負荷分散がどのように構成されているかを理解するのに役立つ記事/リソースは何ですか?

編集: アプリケーション プロトコルが負荷分散に与える影響に特に関心がありますか? たとえば、相手側 (Biztalk が接続要求を行う相手) が複数の接続を許可しない場合に、Biztalk サーバーの 2 つのインスタンスが TCP/IP 接続を処理する方法などです。

0 投票する
1 に答える
7074 参照

biztalk - Biztalk Server 2009 - フェールオーバー クラスタリングとネットワーク負荷分散 (NLB)

2 つの Biztalk アプリケーション サーバーと 2 つの DB サーバー (アクティブ/パッシブ クラスターにある DB サーバー) を持つ Biztalk 2009 セットアップを計画しています。すべてのサーバーで Windows Server 2008 R2 が実行されています。

アプリケーションの一部として、MSMQ、FILE、および SOAP アダプターを介して受信トラフィックが発生します。また、高可用性と負荷分散の要件もあります。

2 つの異なる Biztalk ホストを作成し、FILE 受信ハンドラーを最初のホストに割り当て、MSMQ 受信ハンドラーを 2 番目のホストに割り当てるとします。ここで、2 つのホストのそれぞれに 2 つのホスト インスタンスを作成します (つまり、2 つの物理サーバーのそれぞれに 1 つ)。

Biztalk のドキュメントを確認した結果、これまでのところわかっていることは次のとおりです。

  • FILE (受信) については、グループ内の 2 台のサーバーのそれぞれにホスト インスタンスをセットアップするため、Biztalk によって自動的に高可用性と負荷分散が実現されます。

  • MSMQ (受信) には、高可用性を確保するために Biztalk ホスト クラスタリングが必要です (ただし、ホスト クラスタリングには Windows フェールオーバー クラスタリングもセットアップする必要があります)。ここでは、負荷分散オプションは明確ではありません。

  • SOAP (受信) では、ロード バランシングと高可用性を実現するために NLB が必要です (1 つのサーバーがダウンした場合、NLB はトラフィックを別のサーバーに転送します)。

これは私が完全に困惑しているところであり、あなたの助けが切実に必要です:

  • 2 つのアプリケーション サーバーで Windows フェールオーバー クラスターと NLB を同時にセットアップすることはできますか?
    • はいの場合、方法を教えてください。
    • いいえの場合、MSMQ と SOAP の前提条件が相互に排他的である場合に、どのようにして MSMQ と SOAP の高可用性と負荷分散を実現しているのか説明してください。


あなたの助けは大歓迎です、
M

0 投票する
2 に答える
831 参照

asp.net - NLB と Web デプロイ

Web アプリケーションを提供するクラスター内に 2 つの Web サーバーがあります。

MS Web Deploy を使用して、アプリケーションの新しいバージョンを 1 つのサーバーにプッシュし、もう一度ファイルをクラスター内の他のサーバーに同期します。それが最も普通のことのようです。

しかし、1 つのサーバーが新しいバージョンでデプロイされ、もう 1 つのサーバーがまだ完成していない場合、問題はありません。新しいバージョンをロードしたページが Web サービス リクエストを行い、バランサが古いバージョンのサーバーにリクエストを送信した場合、問題は発生しませんか?

これを回避する最善の方法は何ですか?

デプロイ先のサーバーのドレーンストップをスクリプト化し、一度に 1 つのサーバーのみが実行されるようにすることを考えました。しかし、そのような解決策について書いていると思われる人を他に見つけることができません。また、スケーリングもあまりうまくいかないと思います。

別の解決策は、更新時にすべてのサーバーをシャットダウンすることです。しかし、それはあまり賢明ではないようです。

助言がありますか?

0 投票する
1 に答える
435 参照

.net - C# アプリケーションのメモリ内オブジェクトを同期する方法

NLB (Windows Network Load Balancer) で負荷分散する WCF サービスがあります。そのため、WCF サービスのすべてのインスタンスで Dictionary オブジェクトを同期する必要があります。

これを行う最善の方法は何ですか?