NGINX はクラウドネイティブに進化し、すべてOpenNJetで実現
1. HA の概要
サーバー アプリケーションを導入する際、サービスの高可用性を実現するために、Keepalived を追加インストールし、Keepalived を通じてサーバー アプリケーションの実行状態を監視し、仮想 IP (VIP) を設定することが一般的です。クライアントはサーバーにアクセスします。 VIP経由。例。オープンソースの Nginx を例にすると、図は次のようになります。
Keepalived は、Virtual Router Redundancy Protocol の略である VRRP プロトコルに基づいています。仮想ルーティング冗長プロトコルは、ルータの高可用性を実現するためのプロトコルと言えます。同じ機能を提供する N 台のルータがルータ グループを形成します。このグループは、マスターと複数のバックアップを持ちます。マスターには、VIP (VIP) があり、外部にサービスを提供する仮想 IP アドレス (ルーターが配置されている LAN 内の他のマシンのデフォルト ルートは VIP)、マスターはマルチキャストを送信し、バックアップが VRRP パケットを受信できない場合は、このとき、VRRP レベルを優先してバックアップをマスターとして選択する必要があります。このようにして、ルーターの高可用性を確保できます。
導入と構成を簡素化するために、NJet は Copilot 拡張メカニズムを通じて VRRP プロトコルの HA モジュールを実装しています。HA Copilot がロードされ、対応する構成ファイルが提供されている限り、高可用性機能を実現できます。概略図は次のとおりです。次のように:
2. 設定手順
HA 機能を有効にするには、njet.conf のメイン ブロックに次の命令を追加する必要があります。
helper ha modules/njt_helper_ha_module.so conf/vrrp.conf;
また、vrrp 設定ファイルを conf ディレクトリに用意します。設定項目の説明は以下のとおりです。
設定項目
|
必須
|
設定手順
|
vrrp_instance
|
はい
|
vrrp_instanceの文字列は、設定されているVRRPインスタンス名です。
|
州
|
はい
|
現在のノードの初期化ステータスを設定します。ステータスは MASTER または BACKUP です。
|
インターフェース
|
はい
|
eth0、bond0、br0 などの VIP インターフェイス名をバインドできます。
IP -a を介してネットワーク カード情報を表示する |
いいえプリエンプト
|
いいえ
|
仮想IPをプリエンプトするかどうかを設定します。追加した場合はプリエンプトしません。
|
仮想ルーターID
|
はい
|
仮想ルーターの一意の ID を設定します (範囲: 0 ~ 255)。同じクラスターに属する複数の njet ノードは同じ ID を持ちます。この値は、異なる njet クラスターでは異なる必要があります。この値は、同じネットワーク。
|
優先度
|
はい
|
現在の njet ノードの優先順位を設定します。範囲: [1-254]。値が大きいほど、優先順位が高くなります。
|
仮想 IP アドレス
|
はい
|
仮想IPに対応するサブネットマスクを設定します
|
構成サンプル ファイルについては、以下のテスト検証の章を参照してください。
3. テスト検証
-
3 台のサーバー テスト マシンを構成します。IP は次のとおりです。
-
192.168.40.157
-
192.168.40.158
-
192.168.40.149
-
仮想 IP を使用します。
-
192.168.40.50
192.168.40.157 サーバーの vrrp.conf 構成は次のとおりです。
vrrp_instance m{
state MASTER
interface eth192
virtual_router_id 32
priority 200
virtual_ipaddress {
192.168.40.50/24
}
}
192.168.40.158 サーバーの vrrp.conf 構成は次のとおりです。
vrrp_instance m{
state BACKUP
interface eth192
virtual_router_id 32
priority 100
virtual_ipaddress {
192.168.40.50/24
}
}
192.168.40.149 サーバーの vrrp.conf 構成は次のとおりです。
vrrp_instance m{
state BACKUP
interface eth192
virtual_router_id 32
priority 10
virtual_ipaddress {
192.168.40.50/24
}
}
NJet が3 つのサーバーすべてで開始されると、 40.157がMASTERであるため、ホストはVIPを取得します。
40.157 ホスト上の NJet インスタンスを停止した後、40.158 ホストの優先順位が高いため、40.158 が VIP を取得します。
40.157 ホスト上で NJet インスタンスを再起動すると、40.157 は VIP を取り戻します。
Alibaba Cloudが深刻な障害に見舞われ、全製品が影響(復旧) Tumblr がロシアのオペレーティングシステムAurora OS 5.0 を冷却新しいUIが公開 Delphi 12とC++ Builder 12、RAD Studio 12多くのインターネット企業がHongmengプログラマーを緊急採用UNIX時間17 億時代に突入しようとしている (すでに突入している) Meituan が兵力を募集し、Hongmeng システム アプリの開発を計画Amazon が Linux 上の .NET 8 への Android の依存を取り除くために Linux ベースのオペレーティング システムを開発独立した規模はFFmpeg 6.1「Heaviside」がリリースされましたOpenNJetは、NGINX1.19の基本フォークをベースに独自に進化したもので、高性能、安定性、拡張が容易という特徴を持ち、動的構成や管理機能の難しさなどNGINXの長年の課題を解決しています。仕事。
{{名前}}
{{名前}}