<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          HAProxy + Keepalived 搭建高可用負(fù)載均衡集群

          共 4833字,需瀏覽 10分鐘

           ·

          2021-06-23 10:57

           HAProxy + Keepalived 搭建高可用負(fù)載均衡集群




          01


          環(huán)境準(zhǔn)備


          1.1 集群規(guī)劃

          準(zhǔn)備四臺 Linux 服務(wù)器或者虛擬機(jī)


          編號描述IP
          1業(yè)務(wù)系統(tǒng)192.168.3.20
          2業(yè)務(wù)系統(tǒng)192.168.3.21
          3HAProxy 1 + Keepalived 1192.168.3.10
          4HAProxy 2 + Keepalived 2192.168.3.11

          1.2 部署業(yè)務(wù)系統(tǒng)

          192.168.3.20192.168.3.21 上部署好業(yè)務(wù)系統(tǒng). 帥帥這里寫了一個最簡單的 SpringBoot 應(yīng)用, 為了加以區(qū)別, 分別打包輸出 Node1 和 Node2.


          02


          部署 HAProxy 搭建負(fù)載均衡集群


          2.1 安裝 HAProxy

          分別在兩臺機(jī)器 192.168.3.10192.168.3.11 上安裝 HAProxy.

          yum install -y haproxy

          2.2 配置 HAProxy

          在兩臺機(jī)器192.168.3.10192.168.3.11上編輯配置文件

          vi /etc/haproxy/haproxy.cfg
          global

          log 127.0.0.1 local2

          chroot /var/lib/haproxy
          pidfile /var/run/haproxy.pid
          maxconn 4000
          user haproxy
          group haproxy
          daemon

          # turn on stats unix socket
          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

          #---------------------------------------------------------------------
          # main frontend which proxys to the backends
          #---------------------------------------------------------------------
          frontend app
          mode tcp
          bind *:9090
          option tcplog
          default_backend app

          #---------------------------------------------------------------------
          # round robin balancing between the various backends
          #---------------------------------------------------------------------
          backend app
          balance roundrobin
          server 192.168.3.20 192.168.3.20:8080 check
          server 192.168.3.21 192.168.3.21:8080 check

          #---------------------------------------------------------------------
          # admin manager
          #---------------------------------------------------------------------

          listen stats
          bind *:1080
          stats auth admin:success123
          stats refresh 5s
          stats realm HAProxy\ Statistics
          stats uri /admin

          2.3 啟動 HAProxy

          啟動兩臺機(jī)器的 HAProxy

          systemctl start haproxy
          systemctl status haproxy

          看到 HAProxy 顯示 active (running) 就表示啟動起來了

          2.4 驗(yàn)證

          2.4.1 訪問 HAProxy 的后臺統(tǒng)計頁面

          訪問 http://192.168.3.10:1080/adminhttp://192.168.3.11:1080/admin 可以看到兩臺業(yè)務(wù)系統(tǒng)都是運(yùn)行狀態(tài)就表示系統(tǒng)負(fù)載均衡配置完成.

          2.4.2 訪問業(yè)務(wù)系統(tǒng)

          通過 HAProxy 訪問業(yè)務(wù)系統(tǒng): http://192.168.3.10:9090/http://192.168.3.11:9090/, 并多次切換觀察負(fù)載均衡效果


          03


          部署 Keepalived 實(shí)現(xiàn) HAProxy 主備模式


          3.1 安裝 Keepalived

          在兩臺機(jī)器192.168.3.10192.168.3.11上安裝 Keepalived

           yum install -y keepalived

          3.2 配置 Keepalived

          3.2.1 配置 Master 節(jié)點(diǎn) 192.168.3.10

          ! Configuration File for keepalived

          global_defs {
          router_id app_router
          }

          vrrp_script check_haproxy {
          script "killall -0 haproxy"
          interval 3
          weight -2
          fall 10
          rise 2
          }

          vrrp_instance VI_1 {
          state MASTER
          interface enp0s3
          virtual_router_id 51
          priority 200
          advert_int 1
          authentication {
          auth_type PASS
          auth_pass 1111
          }
          virtual_ipaddress {
          192.168.3.110
          }
          track_script {
          check_haproxy
          }
          }

          3.2.2 配置備份節(jié)點(diǎn) 192.168.3.11

          ! Configuration File for keepalived

          global_defs {
          router_id app_router
          }

          vrrp_script check_haproxy {
          script "killall -0 haproxy"
          interval 3
          weight -2
          fall 10
          rise 2
          }

          vrrp_instance VI_1 {
          state BACKUP
          interface enp0s3
          virtual_router_id 51
          priority 100
          advert_int 1
          authentication {
          auth_type PASS
          auth_pass 1111
          }
          virtual_ipaddress {
          192.168.3.110
          }
          track_script {
          check_haproxy
          }
          }

          3.3 啟動 Keepalived 主備模式

          分別在兩臺機(jī)器上啟動 keepalived

          systemctl start keepalived

          查看 VIP(由于我們配置了主節(jié)點(diǎn)優(yōu)先級更高 200 --- 100), 因此 VIP 首先會在主節(jié)點(diǎn).

          3.4 通過 VIP 訪問業(yè)務(wù)系統(tǒng)

          現(xiàn)在就可以通過 VIP(192.168.3.110)+port 的方式訪問, 這樣, 當(dāng)主節(jié)點(diǎn)存活的情況下就會通過主節(jié)點(diǎn)(192.168.3.10)的 HAProxy 負(fù)載均衡訪問業(yè)務(wù)系統(tǒng), 如果主節(jié)點(diǎn)宕機(jī), VIP 就會飄到備份節(jié)點(diǎn)上走備份節(jié)點(diǎn)的 HAProxy 負(fù)載均衡訪問業(yè)務(wù)系統(tǒng).


          04


          宕機(jī)測試


          關(guān)閉主節(jié)點(diǎn)(192.168.3.10)模擬主節(jié)點(diǎn)宕機(jī). 繼續(xù)通過 VIP 訪問發(fā)現(xiàn)依然可以訪問業(yè)務(wù)系統(tǒng). 即達(dá)到我們的高可用.

          結(jié)論: 當(dāng)主節(jié)點(diǎn)存活的情況下就會通過主節(jié)點(diǎn)(192.168.3.10)的 HAProxy 負(fù)載均衡訪問業(yè)務(wù)系統(tǒng), 如果主節(jié)點(diǎn)宕機(jī), VIP 就會飄到備份節(jié)點(diǎn)上走備份節(jié)點(diǎn)的 HAProxy 負(fù)載均衡訪問業(yè)務(wù)系統(tǒng).



          05


          視頻教程




          視頻教程已經(jīng)提前發(fā)布在 HAProxy + Keepalived 搭建高可用負(fù)載均衡集群架構(gòu).

          感興趣的朋友掃下方的 Bilibili 二維碼查看視頻教程, 大家記得一鍵三連哈.....哈哈哈哈...

          掃碼或者復(fù)制網(wǎng)頁鏈接到瀏覽器都可以播放哦: 

          https://www.bilibili.com/video/BV1Fh411Y7hc


          點(diǎn)擊文檔底部閱讀原文可以跳轉(zhuǎn)到我們 JavaFamily 官方博客站點(diǎn)哦(服務(wù)器資源緊缺, 加載比較慢, 耐心點(diǎn)哦, 親).




                 

                  如果有任何相關(guān)的問題都可以加入 QQ/微信群一起討論, 學(xué)習(xí), 進(jìn)步. 此外如果有任何對于本公眾號的意見和建議也歡迎大家留言積極批評指正, 最后, 愿你我都能成為更好的自己. 


                  我是帥帥, 一個集帥氣, 幽默與內(nèi)涵, 并且熱愛編程, 擁抱開源, 喜歡烹飪與旅游的暖男, 我們下期再見. 拜了個拜!


          每文一騷



          Why do we fall? So we can learn to pick ourselves up.
          人為什么會跌倒? 因?yàn)檫@樣我們才能學(xué)會振作


          日常求贊

          你們白漂的力量就是我拖更的史詩級動力, 點(diǎn)贊, 評論, 再看, 贊賞, 看都看到這了, 隨便點(diǎn)一個咯.



          關(guān)注加好友


          拉你進(jìn)大佬交流群





          瀏覽 103
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产乱人乱偷精品视频a人人澡 | 自拍偷拍成人视频 | 精品人妻无码一区二区三区91 | 涩久久| 国产精品卡_卡2卡3卡4一商战-信息网 |