web-dev-qa-db-ja.com

1つのサーバーから複数のサーバーに拡張するにはどうすればよいですか?

私は1つのWebサーバーを持つ中小企業で働いています。過去には問題なく機能していましたが、大きくなるにつれて別のサーバーが必要になります。

2台のサーバーを連携させるにはどうすればよいですか?ポンドの負荷分散について少し読みましたが、これを機能させるには3台目のコンピューターが必要ですか?

サーバーは、基本的なWebサービスといくつかの簡単なデータベース操作を実行します。

私はビジネスで最も「技術的な」人であり、サーバーの人を雇う必要がなかったので、彼らは私にこれをするように頼んでいます。

あなたは私を助けることができます?

2
Richard

Poundについては何も知りませんが、HAProxyを使用してこれを実行しました。私が推測している理論は、同じです。

  1. 同じWebサイトにサービスを提供するように2つのサーバーをセットアップし、可能な限り同一にします(セットアップに関しては同一であり、必ずしもハードウェアである必要はありません)。
  2. これら2つのサーバーの前に3つ目のサーバーをセットアップします。これは、ロードバランサーであり、世界へのパブリックインターフェイスでもあります。
  3. 着信要求を2つのサーバーに分散するようにロードバランサーを構成します。 1台のサーバーが2台目のサーバーの10倍の数のリクエストを処理できる場合、適切なロードバランサーで10:1のバランスを設定できます。

そうです、しかし、あなたは3番目のサーバーが必要になります-あなたの人生をより良くするかもしれないいくつかのことがあります:

  1. ロードバランサーは物理的である必要はなく、仮想マシンでもかまいません。実際、仮想マシンにすると、誰にも気付かれずに移動できるため、柔軟性が大幅に向上します。
  2. リクエストの量が少ない場合は、ロードバランサーを派手なパンツマシンである必要はありません。 HAProxyと1ギガのRAMを搭載したPentium4ボックスで大成功を収めました(1日あたり約60,000件のリクエストに対応)。

負荷分散と.NETWebサイトは、セッション状態とローカルに保存された変数に関しては楽しいことがありますが、ロードバランサーには通常、ユーザーを1つのWebサーバーに固定できる設定があり、今後のすべての要求は同じサーバーに送信されて読み取られます。同じデータ。この問題が発生しない場合は、ラウンドロビンまたはその他の方法を自由に使用してください。

2
Mark Henderson