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

推薦する

Jupyter Notebook で JavaScript を実行する方法

その後、VSC で Jupyter Notebook を使用する方法も追加しました...アナコンダを...

ウェブサイトのAboutページの紹介コンテンツの書き方

公式、電子商取引、ソーシャル ネットワーキング、個人のいずれの Web サイトでも、訪問者に貴重な時...

MySQL sql_mode の変更が有効にならない理由と解決策

目次序文シナリオシミュレーション要約する序文最近、sql_mode の話題については何度も話し合われ...

HTML で色を表すには、6 桁の 16 進コード、RGB、またはキーワードを使用します。

HTML で色を表す方法は 3 つありますが、最もよく使われるのは 6 桁の 16 進コード表現です...

MySQLでカーソルを宣言する方法

MySQL でカーソルを宣言する方法: 1. 変数とカーソルを宣言する 結果をvarchar(300...

HTML と CSS の基礎 (必読)

(1) HTML: ハイパーテキストマークアップ言語。主に「ヘッダー」と「ボディ」の2つの部分で構...

Vue プロジェクトで axios をカプセル化する方法 (http リクエストの統合管理)

1. 要件Vue.js フレームワークを使用してフロントエンド プロジェクトを開発する場合、サーバ...

MySQL シリーズ データベース設計 3 つのパラダイム チュートリアルの例

目次1. データベース設計の3つのパラダイムに関する知識の説明1. デザインパラダイムとは何ですか?...

Electronで不規則な形状の透明部分をクリックする実装

目次不規則なフォームの実装透明な部分をクリックする不規則なフォームの実装ここでは円形フォームを実装し...

Linux chkconfig コマンドの使用

1. コマンドの紹介chkconfig コマンドは、システム サービスの実行レベル情報を更新および照...

React refの使用例

目次refとは何かrefの使い方DOM要素に配置するクラスコンポーネントに配置する関数コンポーネント...

MySQL公式パフォーマンステストツールmysqlslapの使い方の紹介

目次導入説明書実際の経験まとめ導入MySQL は最も人気のあるオープンソース データベースとして、さ...

Windows での Tomcat サーバーのインストールに関するチュートリアル

1 ダウンロードして準備するまず、公式ウェブサイトからTomcatをダウンロードする必要があります。...

MySQLのネストされたトランザクションで発生する問題

MySQL はネストされたトランザクションをサポートしていますが、それを実行する人は多くありません....

Centos7でのパーティションのフォーマットとマウントの実装

Linux では、ハードディスクの追加やパーティションの再マウントといった状況に頻繁に遭遇します。こ...