OpenNJet HA Copilot を使用して高可用性展開を実現する (1)

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 は次のとおりです。
  1. 192.168.40.157
  2. 192.168.40.158
  3. 192.168.40.149
  • 仮想 IP を使用します。
  1. 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 を取り戻します。

OpenNJetは、NGINX1.19の基本フォークをベースに独自に進化したもので、高性能、安定性、拡張が容易という特徴を持ち、動的構成や管理機能の難しさなどNGINXの長年の課題を解決しています。仕事。
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」がリリースされまし
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/6606114/blog/10143305