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ブラウザで白い背景を透明に設定します

推薦する

MySQL で null を置き換える IFNULL() および COALESCE() 関数の詳細な説明

MySQLではisnull()関数をnull値の代わりとして使用することはできません。次のように:ま...

Mac に MySQL データベースをインストールし、環境変数を設定するためのグラフィック チュートリアル

目次MySQLをインストールする環境変数の設定MySQLをインストールするmysqlをダウンロードし...

Vue で配列をクリアするいくつかの方法 (要約)

目次1. はじめに2. データを消去するいくつかの方法2.1 ref() の使用2.2 スライスの使...

CSS における XHTML タグの対応する属性と使用法

XHTML CSS を使って Web ページをデザインし始めた頃は、タグの使用経験も少なく、あまり気...

HTML リスト ボックス、テキスト フィールド、ファイル フィールドのサンプル コード

ドロップダウンボックス、テキストフィールド、ファイルフィールド 上半分はデモンストレーション効果、下...

Docker の Windows ストレージ パス設定操作

Windows 10 に Docker をインストールする場合、コンテナタイプを Linux コンテ...

Excelアップロード機能を実現するVue + iViewの完全コード

1. HTML部分 <Col span="2">ファイルをアップロー...

Mysqlトランザクション操作の失敗を解決する方法

Mysqlトランザクション操作の失敗を解決する方法トランザクションの原子性: トランザクションは、デ...

Google ブラウザのラベルと入力間のスペースに関する小さな問題

最初にコード、次にテキストコードをコピーコードは次のとおりです。 <!DOCTYPE html...

DockerでHadoopを実行しイメージを作成する方法

車輪の再発明として、ここでは再パッケージ化を使用して Docker ベースの Hadoop イメージ...

WeChatアプレットのオーディオコンポーネントがiOSで再生できない問題の解決策

解決策:クリック イベントをオーディオ コンポーネントにバインドし、再生メソッドと一時停止メソッドを...

Win10でのMySQL5.7.17無料インストール版の基本設定チュートリアルについて(画像とテキスト付き)

データベース アプリケーションは、アプリケーション システムに不可欠な部分です。リレーショナル デー...

CSS 複合セレクタの具体的な使用法

交差点セレクター交差セレクターは、直接接続された 2 つのセレクターで構成されます。最初のセレクター...

Chrome、Firefox、IEで入力カーソルの位置がずれる問題の解決方法

ブラウザで入力カーソルがずれる問題の詳しい説明<br />仕事で問題に遭遇し、解決策を探...