問題タブ [load-balancing]
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.
linux - 1 つのサーバーでのプロセスの負荷分散
1 つのLinuxサーバーでポート 1000 から着信接続を受信するプロセスが 1 つあります。ただし、1 つのプロセスでは、すべての着信要求を処理するには十分な速度ではありません。
サーバーで複数のプロセスを実行したいのですが、エンドポイントは 1 つです。このようにして、クライアントは複数ではなく 1 つのエンドポイント/プロセスのみを認識します。
LVS およびその他の負荷分散ソリューションを確認しました。これらのソリューションは、複数サーバーの負荷分散を対象としているようです。
私の場合に役立つ他の解決策はありますか?
アプリの複数のコピーを実行する必要があるnginxのようなものを探しています。
試してみましょう。
助けてくれてありがとう。
asp.net - ASP.NET AJAX 負荷分散の問題
これは、App_Code フォルダーにコードがあり、ハードウェア ロード バランサーを使用しているすべての人にとっての質問です。ハードウェア ロード バランサーをスティッキー セッションに設定して問題を解決できるのは事実ですが、完璧な世界では、機能をオフにしたいと思います。
App_Code フォルダー内のファイルで、サイトがプリコンパイルされていない場合、iis はこれらのファイルに対してランダムなファイル名を生成します。
そのため、ユーザーがページを投稿して他のサーバーに転送されても、何も機能しません。
誰かがこれに対する解決策を持っていますか? 事前にコンパイルされた Web サイトに変更することはできますが、QA 部門が変更されたファイルを宣伝するだけでは不十分です。
windows-server-2003 - Windows 2003ネットワーク負荷分散を使用してネットワークフラッディングを停止するにはどうすればよいですか?
MsNLBは、IGMPを使用してマルチキャストを使用するように構成できることを知っています。ただし、スイッチがIGMPをサポートしていない場合、どのようなオプションがありますか?
php - 複数のホスト上のPHPサイトのセッションを処理するための最良の方法は何ですか?
PHPは、そのセッション情報を、そのセッションを確立するサーバーのホストのファイルシステムに保存します。負荷が各ホスト間でインテリジェントに分散されないマルチホストPHP環境では、PHPセッション変数を各リクエストで使用することはできません(リクエストが同じホストに割り当てられている場合を除きます。ロードバランサーを制御できないと仮定します)。 。
「PHP負荷分散のヒッチハイカーガイド」と呼ばれるこのサイトは、PHPセッションハンドラーをオーバーライドし、セッション情報を共有データベースに保存することを提案しています。
あなたの謙虚な意見では、複数のPHPホスト環境でセッション情報を維持するための最良の方法は何ですか?
更新:素晴らしいフィードバックをありがとう。サンプルコードを探している人には、MySQL用のSessionManagerクラスを作成するための便利なチュートリアルが見つかりました。これを確認することをお勧めします。
java - 分散同時実行制御
私はこれに数日間取り組んできましたが、いくつかの解決策を見つけましたが、どれも信じられないほど単純でも軽量でもありませんでした。問題は基本的に次のとおりです。10 台のマシンのクラスターがあり、それぞれがマルチスレッド ESB プラットフォームで同じソフトウェアを実行しています。同じマシン上のスレッド間の同時実行の問題はかなり簡単に処理できますが、異なるマシン上の同じデータに対する同時実行の問題はどうでしょうか?
基本的に、ソフトウェアは Web サービスを介して顧客のデータをある企業から別の企業にフィードする要求を受け取ります。ただし、顧客が他のシステムに存在する場合もあれば、存在しない場合もあります。そうでない場合は、Web サービス メソッドを介して作成します。したがって、ある種のテスト アンド セットが必要ですが、他のマシンが競合状態を引き起こさないようにロックアウトするための何らかのセマフォが必要です。以前、1 人のローカル カスタマーに対してリモート カスタマーが 2 回作成されたという状況がありましたが、これはあまり望ましくありません。
私が概念的にいじった解決策は次のとおりです。
フォールト トレラントな共有ファイル システムを使用して、お客様に応じて各マシンでチェックされる「ロック」ファイルを作成します。
データベースで特別なテーブルを使用し、ロック レコードの「テストと設定」を行うためにテーブル全体をロックします。
スケーリングを支援するオープン ソース サーバー ソフトウェアである Terracotta を使用しますが、ハブ アンド スポーク モデルを使用します。
メモリ内の「ロック」の同期レプリケーションに EHCache を使用します。
この種の問題を経験したことがあるのが私だけだとは想像できません。どのように解決しましたか?社内で何か調理しましたか、それともお気に入りのサードパーティ製品はありますか?
windows-server-2003 - 停止時のWindowsServer2003NLBドレイン停止通知
コマンドラインを介してMSNLBのノードの1つをドレインストップし、その完了を通知するにはどうすればよいですか?
コールバックする方法がない場合、ポーリングする簡単な方法はありますか?
logging - アクセスログからロードバランサーの汚染を削除するにはどうすればよいですか
ロードバランサーの後ろにSunWebサーバー(iws6)のペアがあります。Webサーバーが稼働しているかどうかを知り、/alive.htmlを継続的に要求します。それは問題ありませんが、アクセスログに記録しないようにするにはどうすればよいですか?
それができない場合、アーカイバがファイルをロールオーバーするときにアクセスするアーカイバを削除するにはどうすればよいですか?
cronがgrep-valive.htmlを呼び出すよりもエレガントなものが好きです
iis - SSL ロード バランシングを取得するにはどうすればよいですか?
ASP.NET アプリケーションを 2 つの独立した IIS サーバーに展開する必要があります。私のアプリケーションは HTTPS/TLS で動作します。私の ASP コードはクライアント SSL 証明書を処理する必要があります。これは、nginx や Apache Load Balancer からそのような証明書を取得できないため、単純なフォワード ロード バランサーを使用できないことを意味します。
私が理解しているように、Microsoft の世界、特に SSL では負荷分散のための一般的な (オープンソースまたは無料の) ソリューションはありません。
ドメイン名が複数の ISS サーバーにバインドされ、すべての新しいクライアント (セッション) が 1 つのサーバーの IP を取得する単純な DNS バランシングについて聞いたことがあります。
現在、私は展開を始めたばかりであり、そのようなバランスについての意見を知ることは非常に興味深いことです。または、いくつかの推奨事項を得ることができるかもしれません.
ありがとう!
私としては、DNS バランシング以外に HTTPS の別の解決策を見つけることができません。仕方がありません。
???
algorithm - バランスのとれた分配アルゴリズム
疎結合クラスターのコードに取り組んでいます。ジョブ中に最適なパフォーマンスを実現するために、子が出入りするたびにクラスターにデータを再マッピングさせます。これは最終的にはオプションになりますが、現時点ではデフォルトでデータ バランシングを実行します。私のバランス調整は基本的に、各子がマシンごとの平均ファイル数に 1 を加えた数を超えないようにすることです。除算がきれいでない場合、プラス 1 は残りの部分です。そして、残りは常に子の数よりも少ないため [0 の場合を除きますが、それを除外できます]、バランス調整後の子は最大で avg + 1 になります。
私のアルゴリズムが O(n!) であることに気付くまでは、すべて問題ないように見えます。子供のリストを下に移動し、残りの平均を調べます。誰が多すぎて誰が少なすぎますか。多すぎるリストの各子供について、リストを調べて、少なすぎる子供に送信します。
これに対するより良い解決策はありますか?あるに違いないと感じます。
編集:これは、O(n!)をどのように導出したかを示す擬似コードです:
編集:O(n ^ 2)。Foreach n、n => n*n => n^2。今朝はコーヒーが足りなかったみたい!;)
将来的には、より柔軟で回復力のある分散方法 [重みとヒューリスティックス] に移行したいと考えていますが、今のところ、データの均一な分散が機能しています。
configuration - その他のプロジェクト設定はどこに保存しますか?
一部のプロジェクトには、「AllowPayments」、「ShowSideBar」、「SectionTitle」などのさまざまな設定を持つプロパティがあります。必ずしも他のオブジェクトに収まらないもの。
皆さんは、これらの種類の値をどのように保存していますか? アプリケーションの設定?フラットファイル? データベーステーブル?
どのようにそれらにアクセスしますか? プロパティを持つ静的オブジェクト? DBコール?
複数のサーバー間でファイルを同期する必要がある負荷分散環境にいる場合、これらのいずれかが変わりますか?
環境 ASP.NET 2.0