<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    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). 帥帥這里寫了一個(gè)最簡單的 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)計(jì)頁面

    訪問 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)步. 此外如果有任何對于本公眾號的意見和建議也歡迎大家留言積極批評指正, 最后, 愿你我都能成為更好的自己. 


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


    每文一騷



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


    日常求贊

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



    關(guān)注加好友


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





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

    手機(jī)掃一掃分享

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

    手機(jī)掃一掃分享

    分享
    舉報(bào)

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    黄色电影视频看看 | 这里只有99精品 | 色多多网站 | 亚洲天堂a√ | 久久伊人色五月 |