デュアルアクティブ負荷分散のインストールと構成には、Haproxy Keepalived を使用します。

デュアルアクティブ負荷分散のインストールと構成には、Haproxy Keepalived を使用します。

保存しました!

環境の準備

1. 4 つの仮想マシンを起動します (ここでは Centos を例として使用します)。IP は次のとおりです。

192.168.130

192.168.132

192.168.128

192.168.129

2. haproxyをインストールする

これら2台のマシンの対応するポート130と132の外部ネットワークアクセス権を開きます。

1 2 3 4 5 /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT /etc/rc .d /init .d /iptables restart インストールの実行 /etc/rc .d /init .d /iptables save /etc/rc .d /init .d /iptables restart

マシン 130 と 132 にそれぞれ haproxy をインストールします。

1 yum -y haproxy install

両方のマシンをインストールしたら、ファイル構成を実行し、132 の構成ファイルを変更します。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #vi /etc/haproxy/haproxy.cfg global    log 127.0.0.1 local2    chroot /var/lib/haproxy    pidfile /var/run/haproxy    maxconn 4000    user haproxy    group haproxy    daemon    stats socket /var/lib/haproxy/stats defaults    mode http    log global    option httplog    option dontlognull    option http-server-close    option forwardfor except 127.0.0.0 /8    option redispatch    retries 3    timeout http-request 10s    timeout queue 1m    timeout connect 10s    timeout client 1m    timeout server 1m    timeout http-keep-alive 10s    timeout check 10s    maxconn 3000    stats refresh 5s    stats uri /haproxy    stats realm baison- test -Haproxy    stats auth admin:admin123    stats hide-version    option dontlognull    option http-server-close    option forwardfor except 127.0.0.0 /8    option redispatch    retries 3    timeout http-request 10s    timeout queue 1m    timeout connect 10s    timeout client 1m    timeout server 1m    timeout http-keep-alive 10s    timeout check 10s    maxconn 3000    stats refresh 5s    stats uri /haproxy #haproxy監控界面    stats realm baison- test -Haproxy    stats auth admin:admin123    stats hide-version frontend main *:80 #監聽80端口    acl url_static path_beg -i /static /images /javascript /stylesheets    acl url_static path_end -i .jpg .gif .png .css .js    use_backend static if url_static #匹配url_static條件的url使用static轉發    default_backend web #其他的url使用后面定義的web轉發backend static #static轉發服務を使用します    balance roundrobin    server static1 192.168.230.128:8080 check inter 2000 fall 3 weight 30 #128這臺機器上運行8080端口的tomcat,用于提供靜態文件訪問    server static2 192.168.230.129:8080 check inter 2000 fall 3 weight 30 #129這臺機器上運行8080端口的tomcat,用于提供靜態文件訪問backend web #定義名為”web“的轉發服務    balance roundrobin    server web1 192.168.230.128:8081 check inter 2000 fall 3 #128這臺機器上運行8081端口的tomcat,用于提供非靜態資源訪問    server web2 192.168.230.129:8081 check inter 2000 fall 3 #129這臺機器上運行8081端口的tomcat,用于提供非靜態資源訪問

構成ファイルを 130 サーバー上の同じディレクトリにコピーし、130 サーバー上で次の操作を実行します。

1 2 rm /etc/haproxy/haproxy .cfg //刪除130自己的配置文件scp [email protected]: /etc/haproxy/haproxy .cfg /etc/haproxy/

2 つのサーバーの haproxy のインストールと構成が完了しました。

3. 132 と 130 にそれぞれ keepalived をインストールします。

まずopenssl-develをインストールしてください

1 yum openssl-devel install

keepalived インストール ディレクトリを作成し、ダウンロードしてインストールします。

1 2 3 4 5 6 7 mkdir /usr/local/ha install cd . /usr/local/ha /configure tar .gz三w.keepalived.org wget http: // tar .gz /software/keepalived-1 zxvf keepalived-1.2.23. .2.23. tar keepalived-1.2.23 cd & make make

両方のマシンをインストールしたら、keepalived (132 台のマシン) を構成します。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #mkdir /etc/keepalived/ #cp /usr/local/ha/keepalived-1.2.23/doc/samples/keepalived.conf.sample /etc/keepalived/keepalived.conf #vi /etc/keepalived/keepalived.conf ! Configuration File keepalived global_defs { for設定ファイル {  router_id Node_132 ###名稱隨便取} vrrp_script chk_http_port {  script "/opt/check_haproxy.sh" ###檢測腳本防止不自動切換的問題,接下來會創建  interval 2  weight 2 } vrrp_instance VI_1 {    state MASTER ###主服務,表示訪問下面虛擬ip 200時,映射到當前機器    interface eth1 ###你的網卡名稱,使用ip a命令查看,并修改    virtual_router_id 50 ###路由id,主從保持一致    priority 100 ###權重,比從服務器大    advert_int 1    track_script {        chk_http_port ### 執行監控的服務    }    virtual_ipaddress {        192.168.230.200 ###虛擬ip地址    } } vrrp_instance VI_2 {    state BACKUP ###從服務,當另一臺機器不工作時,訪問下面虛擬ip 201就映射到當前臺機器    interface eth1    virtual_router_id 52 ###路由id,主從保持一致    priority 99 權重,比主服務器小    advert_int 1    virtual_ipaddress {       192.168.230.201 ###虛擬ip地址    } }

検出ファイルを作成する

1 2 3 4 5 6 7 8 #vi /opt/check_haproxy.sh f [ $( ps -C haproxy --no-header | wc -l) - eq 0 ]; then     /etc/init .d /haproxy start fi sleep 2 if [ $( ps -C haproxy --no-header | wc -l) - eq 0 ]; then       /etc/init /keepalived .d

構成ファイルと検出ファイルを別のサーバーにコピーし、130 で次の操作を実行します。

1 2 3 mkdir /etc/keepalived/ scp [email protected]: /etc/keepalived/keepalived .conf /etc/keepalived/ scp [email protected]: /opt/check_haproxy .sh /opt/check_haproxy .sh

ここでkeepalivedがインストールされます。

4. tomcatサービス環境をインストールする

128 に 2 つの tomcat をコピーします。1 つはポート 8080、もう 1 つはポート 8081 です。

a. Tomcat ポートが低すぎるため、ポートを変更します。操作を実行します。

b. テストと検証を容易にするために、Tomcat ポート 8080 の Tomcat ページを変更します。

1 vi webapps /ROOT/index .jsp
  • ヘッドに js をインポートします: <script type="text/javascript" src="test.js"></script>
  • 本文の下にサーバーの説明 HTML を追加します: <h1>web-128:8080</h1><h1 id="js_h">js の場所</h1> (これはホスト 128 のポート 8080 のサービス ページであることを示します)
  • index.jsp と同じディレクトリに新しい test.js を作成します: window.onload = function(){document.getElementById("js_h").innerHTML='js-128:8080′;}

js ファイルは「js location」の内容を変更し、この js ファイルが 128 ホストの 8080 ポート サービスからのものであることを示します。

c. Tomcat ポート 8081 でも同様の変更を行います。

  • ヘッドに js をインポートします: <script type="text/javascript" src="test.js"></script>
  • 本文の下にサーバーの説明 HTML を追加します: <h1>web-128:8081</h1><h1 id="js_h">js の場所</h1>
  • test.js: window.onload = function() {document.getElementById("js_h").innerHTML='js-128:8081';}

同様に、129 サーバーに 2 つの tomcat をコピーします。1 つはポート 8080、もう 1 つはポート 8081 です。tomcat ファイルを変更するときは、ip 128 を 129 に変更するだけです。

これで環境がインストールされました。

4台のTomcatを実行する

haproxyを実行します: service haproxy start

keepalived を実行します:

1 keepalived -D -f /etc/keepalived/keepalived .conf

haproxy 監視ページを表示するには、次のページを開きます: http://192.168.230.132/haproxy、http://192.168.230.130/haproxy

モニタリングを通じて、訪問回数やその他のメッセージを確認できます

http://192.168.230.200 または http://192.168.230.201 にアクセスしてページを複数回更新します。

js ファイルとページのソースの変更を観察すると、js ファイルはポート 8080、128、129 のサーバーから取得され、ページはポート 8081、128、129 のサーバーから取得されていることがわかります。ページと静的ファイルの読み込みに使用されるさまざまな haproxy サービス ルールについて説明します。

http://192.168.230.200、http://192.168.230.201 にアクセスしてください。ページ上のデータの変更を監視すると、200は132サーバーによって転送され、アクセス201は130によって転送されていることがわかります。

実際のシナリオでは、動的リソースにアクセスする場合は 200 アドレスが使用され、静的リソースにアクセスする場合は 201 アドレスが使用されます。Tomcat または haproxy をシャットダウンすると、サーバーの切り替えを確認できます。これにより、デュアルマスターバックアップが実現され、高可用性が確保されるとともに、サーバーの使用率も向上します。

全文は http://www.javaseo.cn/article/63/ から。

<<:  Netcup: 本人確認を通過するための詳細なヒント [最近は本人確認が緩和されているので、行うことをお勧めします]

>>:  Java Photo Station Beauty インストール チュートリアル

推薦する

ロードアイランド・スクール・オブ・デザインはどうですか?ロードアイランド・スクール・オブ・デザインのレビューとウェブサイト情報

ロードアイランド・スクール・オブ・デザインのウェブサイトとは何ですか?ロードアイランド・スクール・オ...

ワンクリックでstartssl.comから無料のSSL証明書を入手

SSHの場合: 1. インストール方法1 git clone https://github.com/...

ジョンソンコントロールズはどうですか?ジョンソンコントロールズのレビューとウェブサイト情報

ジョンソンコントロールズとは何ですか?ジョンソンコントロールズ社(ジョンソンコントロールズ)は、自動...

オワタンデイリーはどうですか?オワタンデイリーレビューとウェブサイト情報

Owatan Dailyウェブサイトとは何ですか?アル・ワタン・デイリーはクウェートでよく知られてい...

StockServers: 月額 30 ドル / X3430 / 16 GB メモリ / 4 TB ハードディスク / 10 TB トラフィック / 1 Gbps ポート / ロサンゼルス / マイアミ

海外業者のStockServersは2019年に新しく設立されました。正式に登録された会社です(会社...

Inertia Networks: $45/年/2GB メモリ/50GB スペース/2TB トラフィック/KVM/ロサンゼルス

慣性ネットワークは、何度か紹介されました。ロサンゼルスデータセンター(QuadraNet)があり、ネ...

キャシー・キッドソンはどうですか?キャシーキッドソンのレビューとウェブサイト情報

キャシー・キッドソンのウェブサイトとは何ですか?キャス キッドソン(キャス キングストンとも訳される...

ミラノのサクレ・クール・カトリック大学はどんなところですか?ミラノの聖心のカトリック大学のレビューとウェブサイト情報

ミラノのサクレ・クール・カトリック大学のウェブサイトは何ですか?カトリック聖心大学 (UCSC、Un...

PapasHosting: 月額 1.99 ドル / 無制限のスペース / 無制限のトラフィック / cPanel パネル

PapasHosting は新しく設立されたようで、価格は非常に安く、パラメータは次のように無制限で...

フランスのヴィヴェンディグループはどうでしょうか?フランスのヴィヴェンディグループのレビューとウェブサイト情報

フランスのヴィヴェンディグループのウェブサイトは何ですか? Vivendi SA はフランスの多国籍...

Web3k: 月額 3 ドル / 20 GB のストレージ / 200 GB のトラフィック / 無制限の cPanel アカウント

Web3k は 2008 年に設立されたオーストラリアのホスティング会社です。主に仮想ホスティング、...

惑星協会についてはどうですか?惑星協会のレビューとウェブサイト情報

惑星協会とは何ですか?惑星協会は、1980 年に設立され、米国カリフォルニア州パサデナに拠点を置く非...

RAKsmart: 449元/月/2*L5630/16GBメモリ/480GB SSDハードドライブ/無制限トラフィック/100Mbps/サンノゼ/国内最適化

中国のホスティング会社である RAKsmart は、サンノゼのサーバーに重点を置いています。現在、サ...

ワラはどうですか! Walla!のレビューとウェブサイト情報

ワラって何ですか? Walla! はイスラエルで最も人気のあるポータル サイトです。主に国内外のニュ...

UniCreditはどうですか? UniCredit Groupのレビューとウェブサイト情報

United Credit Group の Web サイトとは何ですか?ユニクレジットグループ(ユニ...