Nginx ロード バランシング ソリューションでのバックエンド サーバーのヘルス チェックと動的調整には、特定のコード サンプルが必要です
要約: Nginx ロード バランシング ソリューションでは、バックエンド サーバーのヘルス チェックと動的調整 健康状態は重要な考慮事項です。この記事では、Nginx のヘルスチェックモジュールと動的調整モジュールを使用して、バックエンドサーバーのヘルスチェックと動的調整を実装する方法と、具体的なコード例を紹介します。
ヘルス チェック モジュール
Nginx は、バックエンド サーバーのヘルス ステータスを定期的に検出できるヘルス チェック モジュールを提供します。このモジュールを Nginx リバース プロキシ サーバーで構成して、正常なサーバーのみがトラフィックを受信できるようにすることができます。以下はサンプル コードです:
http { upstream backend { server backend1.example.com; server backend2.example.com; health_check interval=5s; } server { location / { proxy_pass http://backend; } } }
上記の例では、backend1.example.com と backend2.example.com という 2 つのサーバーを持つ「backend」という名前のアップストリーム (つまり、バックエンド サーバー クラスター) を定義します。 。さらに、バックエンド サーバーのヘルス ステータスを 5 秒ごとにチェックするヘルス チェック モジュールも構成しました。
動的調整モジュール
ヘルス チェック モジュールを使用すると、正常なサーバーのみがトラフィックを受信できるようになりますが、アプリケーションの実行中に負荷分散ポリシーを動的に調整する必要がある場合があります。 Nginx は、サーバーの負荷に応じてバックエンド サーバーの重みを自動的に調整できる動的調整モジュールを提供します。以下はサンプル コードです:
http { upstream backend { server backend1.example.com weight=1; server backend2.example.com weight=1; dynamic_adjustment; } server { location / { proxy_pass http://backend; } location /adjust { dynamic_adjustment_status; # 输出当前后端服务器的权重信息 } } }
上の例では、「backend」という名前のアップストリームを定義し、2 つのバックエンド サーバー (backend1.example.com と backend2.example.com) を構成しました。各サーバーの重みは 1 に設定されます。さらに、動的調整モジュールも構成し、現在のバックエンド サーバーの重み情報を「/adjust」パスに出力します。
包括的な例
次は、ヘルス チェック モジュールと動的調整モジュールの使用を組み合わせた包括的な例です。
http { upstream backend { server backend1.example.com; server backend2.example.com; health_check interval=5s; dynamic_adjustment; } server { location / { proxy_pass http://backend; } location /adjust { dynamic_adjustment_status; # 输出当前后端服务器的权重信息 } } }
この例では、健全性検査モジュールは動的調整モジュールと併用して、健全なサーバーのみがトラフィックを受信し、サーバーの負荷に基づいてバックエンド サーバーの重みを動的に調整することを保証します。
以上がNginx ロード バランシング ソリューションにおけるバックエンド サーバーのヘルス チェックと動的調整の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。