1. HAProxy + Keepalived 搭建高可用負載均衡集群

        共 4833字,需瀏覽 10分鐘

         ·

        2021-06-23 10:57

         HAProxy + Keepalived 搭建高可用負載均衡集群




        01


        環(huán)境準備


        1.1 集群規(guī)劃

        準備四臺 Linux 服務(wù)器或者虛擬機


        編號描述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 搭建負載均衡集群


        2.1 安裝 HAProxy

        分別在兩臺機器 192.168.3.10192.168.3.11 上安裝 HAProxy.

        yum install -y haproxy

        2.2 配置 HAProxy

        在兩臺機器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

        啟動兩臺機器的 HAProxy

        systemctl start haproxy
        systemctl status haproxy

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

        2.4 驗證

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

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

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

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


        03


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


        3.1 安裝 Keepalived

        在兩臺機器192.168.3.10192.168.3.11上安裝 Keepalived

         yum install -y keepalived

        3.2 配置 Keepalived

        3.2.1 配置 Master 節(jié)點 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é)點 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 主備模式

        分別在兩臺機器上啟動 keepalived

        systemctl start keepalived

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

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

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


        04


        宕機測試


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

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



        05


        視頻教程




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

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

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

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


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




               

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


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


        每文一騷



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


        日常求贊

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



        關(guān)注加好友


        拉你進大佬交流群





        瀏覽 103
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 色老板在线精品免费观看 | 国产一级婬片A片免费无成人黑豆 | 91人妻人人操人人爽人人精品 | 无码影音| 国产又猛又粗又爽的视频 |