Nginx がサーバーの生存状態をパッシブにチェックする詳細な説明

Nginx がサーバーの生存状態をパッシブにチェックする詳細な説明

Nginxはサーバーの稼働状況を受動的にチェックします

導入

定期的にヘルスチェックを送信して、アップストリーム グループ内の HTTP サーバーのヘルスを監視します。 Nginx は、アップストリーム サーバーを継続的にテストし、障害が発生したサーバーを回避し、回復したサーバーを負荷分散グループに正常に追加できます。

パッシブヘルスチェック

パッシブヘルスチェックでは、 Nginx はトランザクションの発生を監視し、失敗した接続の回復を試みます。それでもトランザクションを回復できない場合、 Nginx はサーバーを使用不可としてマークし、再度アクティブとしてマークされるまで一時的にリクエストの送信を停止します。

アップストリーム サーバーが利用不可としてマークされる条件は、upstreams ブロック内の server ディレクティブのパラメータを介して各アップストリーム サーバーに対して定義されます。

  • fail_timeout : サーバーが利用不可とマークされるまでに何回試行が失敗するか、またサーバーが利用不可とマークされる時間 (デフォルトは 10 秒) を設定します。
  • max_fails : サーバーが利用不可としてマークされるために、 fail_timeout期間中に発生する必要がある失敗した試行回数を設定します (デフォルトは 1 回)。

次の例では、Nginx は、サーバーにリクエストを送信できない場合、または 30 秒以内にサーバーから 3 回応答を受信しなかった場合、30 秒以内にサーバーを使用不可としてマークします。

アップストリームバックエンド{
    サーバー backend1.example.com;
    サーバー backend2.example.com max_fails=3 fail_timeout=30s;
}

: グループ内にサーバーが 1 つしかない場合、fail_timeout および max_fails パラメーターは無視され、サーバーは使用不可としてマークされることはありません。

サーバーの起動が遅い

最近復元されたサーバーは接続で簡単に圧倒され、サーバーが再び利用不可とマークされる可能性があります。スロー スタートを使用すると、アップストリーム サーバーは、復元または使用可能になった後に、重みを 0 から公称値まで徐々に復元できます。これは、アップストリーム サーバー ディレクティブのslow_startパラメータを使用して実行できます。

アップストリームバックエンド{
    サーバー backend1.example.com slow_start=30s;
    サーバー backend2.example.com;
    サーバー 192.0.0.1 バックアップ;
}

: グループ内にサーバーが 1 つしかない場合、 slow_startパラメーターは無視され、そのサーバーは使用不可としてマークされることはありません。スロースタートは、 NGINX Plus (ビジネス エディション) に特有のものです。

Nginx がサーバーの生存状態をパッシブにチェックする方法についての記事はこれで終わりです。Nginx がサーバーの生存状態をチェックする方法についてさらに詳しく知りたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • サーバー上で Nginx を使用して Springboot プロジェクトをデプロイする方法の詳細なチュートリアル (jar パッケージ)
  • nginx を使用して静的リソース サーバーを構築する方法

<<:  JavaScript実行メカニズムの詳細な紹介

>>:  iframeフレームはIEブラウザで白い背景を透明に設定します

推薦する

Nodejs と Socket.IO を組み合わせて Websocket の即時通信を実現

目次WebSocketを使用する理由ソケット.ioオープンソースプロジェクト効果プレビューアプリイン...

html リンク タグ タイトル属性 改行 マウス ホバー プロンプト コンテンツ 改行効果

オブジェクト上にマウスを移動したときにコンテンツ(タイトル属性の内容)を折り返す方法、HTML タイ...

Rails APIを使用してReactアプリケーションを構築するための詳細な手順

目次バックエンド: Rails API部分フロントエンド: React部分Reactコンポーネントa...

フロントエンド JavaScript でローカルあいまい検索機能を実装する方法の例

目次1. プロジェクトの見通し2. 知識ポイントObject.assign() の使用法filter...

Linuxでディレクトリを効率的に切り替える方法

Linux でディレクトリを切り替えるとなると、誰もが間違いなくcdコマンドを思い浮かべるでしょう。...

マインスイーパゲームを実装するための jQuery プラグイン (3)

この記事では、jQueryプラグインを使用してマインスイーパゲームを実装する方法に関する3番目の記事...

画像にマウスを置いたときにズームイン/ズームアウトするには JS を使用します

マウスが画像上にあるときにズームインおよびズームアウトするには、JS を使用します。具体的なコードは...

MySQL サービスを起動できない問題の解決策を含む MySQL 5.7.17 インストール チュートリアル

.net 開発に関しては、Microsoft の SQL Server データベースに精通しており、...

Pure CSS3はdivの出入りを順番に実現します

この記事は主に、純粋な CSS3 を使用して div が順番に出入りする効果を紹介します。一定の参考...

組み込み Linux で QT アプリケーションを再起動する簡単な方法 (QT4.8 qws ベース)

アプリケーション ソフトウェアには通常、次のようなビジネス要件があります。新しいバージョンの APP...

VUEは底部吸引ボタンを実装

この記事では、VUEの具体的なコードを共有して、下部吸引ボタンを実装する例を紹介します。具体的な内容...

MySQL データベース アカウントの作成、認証、データのエクスポートおよびインポート操作の例

この記事では、MySQL データベースでのアカウントの作成、認証、データのエクスポートおよびインポー...

MySQL ストアド プロシージャで case ステートメントを使用する詳細な例

この記事では、例を使用して、MySQL ストアド プロシージャでの case ステートメントの使用方...

docker を使用して Spring Boot をデプロイし、Skywalking に接続する方法

目次1. 概要1. スカイウォーキング入門2. スカイウォーキング建築3. スカイウォーキングはどの...

Vueは下部のポップアップウィンドウで複数選択を実装します

この記事の例では、下部のポップアップウィンドウで複数選択を実装するためのVueの具体的なコードを共有...