Nginx サーバーのヘルスチェックと自動障害回復の詳細な説明
はじめに:
今日のインターネット アプリケーションでは、高い同時実行性と高可用性が非常に重要です。システムの安定性を確保するには、サーバーの状態を監視およびチェックし、障害回復を自動的に実行する必要があります。この記事では、Nginx サーバーを使用してヘルスチェックと自動障害回復を行う方法を詳しく説明し、関連するコード例を示します。
1.1 アクティブなヘルス チェック:
Nginx はバックエンド サーバーに定期的にリクエストを送信し、返されたステータス コードに基づいてサーバーの健全性を判断します。 。 状況。返されたステータス コードがサーバーが正常であることを示している場合、Nginx はそのサーバーを利用可能なサーバー リストに追加します。返されたステータス コードがサーバーが異常であることを示している場合、Nginx はそのサーバーを利用可能なサーバー リストから削除します。
1.2 パッシブヘルスチェック:
Nginx がバックエンドサーバーにリクエストを送信し、接続がタイムアウトするかリクエストが失敗すると、Nginx はそのサーバーが利用できないサーバーであると判断し、リストから削除します。利用可能なサーバー。新しいリクエストが到着すると、Nginx は他の利用可能なサーバーへの接続を試みます。
http {
upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; # 开启健康检查功能 health_check; # 配置健康检查项 health_check_timeout 3s; health_check_interval 10s; health_check_http_2xx; health_check_http_3xx; } server { listen 80; location / { proxy_pass http://backend; } }
}
上記の設定では、backend という名前のアップストリーム グループを定義し、バックエンドが 3 つあるように設定します。サーバー。 health_checkパラメータをonに設定すると、ヘルスチェック機能が有効になります。ヘルスチェック項目の具体的な設定は以下のとおりです。
http {
upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; # 开启健康检查和自动故障恢复功能 health_check; max_fails 3; fail_timeout 30s; # 配置健康检查项 health_check_timeout 3s; health_check_interval 10s; health_check_http_2xx; health_check_http_3xx; } server { listen 80; location / { proxy_pass http://backend; } }
}
上記の設定では、自動フォールトを設定するために max_fails と failed_timeout という 2 つのパラメータを追加しました。回復機能。
バックエンド サーバーの障害の数が max_fails で構成された値に達すると、Nginx はそのサーバーを利用可能なサーバーのリストから削除し、fail_timeout で構成されたタイムアウト後にヘルス チェックを再度実行します。サーバーがヘルスチェックに合格すると、Nginx はそのサーバーを利用可能なサーバーのリストに再度追加します。
結論:
Nginx サーバーのヘルス チェックと自動障害回復機能は、システムの安定性と可用性を効果的に向上させることができます。上記の構成例を通じて、ヘルスチェックと自動障害回復機能を実装するために Nginx を簡単に構成できます。この記事が、Nginxサーバーのヘルスチェック機能や障害自動回復機能の理解と活用の一助となれば幸いです。
以上がNginxサーバーのヘルスチェックと自動障害回復の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。