ホームページ >バックエンド開発 >PHPチュートリアル >nginxサーバーの負荷分散構成
一般的に使用される負荷分散ソリューションには次のものがあります。
1. ポーリング
ポーリングはラウンド ロビンであり、Nginx 構成ファイル内の順序に従ってクライアントの Web リクエストを異なるバックエンド サーバーに順番に分散します。
構成の例は次のとおりです。
http{
upstreamsampleapp {
using using using using アウト アウト スルー アウト スルー アウト スルー アウト スルー アウト ‐ スルー オフ ‐ ‐ ダウン ‐ 、へ )>>;
}
....
サーバー{
listen 80;
}
2. 最小接続数
Web リクエストは、接続数が最も少ないサーバーに転送されます。
設定の例は次のとおりです:
http{
upstreamsampleapp {
minimum_conn;
サーバー <
オプション前述の 2 つの負荷分散ソリューションでは、同じクライアントからの継続的な Web リクエストが異なるバックエンド サーバーに分散されて処理される可能性があるため、セッションが関係する場合、セッションはもっと複雑になる。一般的なのはデータベースベースのセッション永続性です。上記の問題を解決するには、IP アドレス ハッシュに基づく負荷分散ソリューションを使用できます。この場合、同じクライアントからの連続した Web リクエストは同じサーバーに分散されて処理されます。
設定例は次のとおりです:
http{
upstreamsampleapp {
ip_hash;
server <
server <<別のDNSエントリまたはIPアドレス(オプションでポート付き)> }
4. 重みベースの負荷分散
このようにして、より多くのリクエストを高構成のバックエンド サーバーに分散し、比較的少数のリクエストを低構成のサーバーに分散するように Nginx を構成できます。構成の例は次のとおりです。http{
Upstream sampleapp {out - out out-を使用して使用して使用します。ポートの後に 2 が付きます。これは、受信した 3 つのリクエストごとに、最初の 2 つのリクエストが最初のサーバーに分散され、3 番目のリクエストが 2 番目のサーバーに分散され、他の設定が同じサイクル内にあることを意味します。
著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。
上記では、関連する側面を含む nginx サーバーの負荷分散構成を紹介していますが、PHP チュートリアルに興味のある友人に役立つことを願っています。