亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

keepalived中怎么利用haproxy實現高可用和負載均衡

發布時間:2021-06-22 15:11:12 來源:億速云 閱讀:204 作者:Leah 欄目:大數據

本篇文章給大家分享的是有關keepalived中怎么利用haproxy實現高可用和負載均衡,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

1.Nginx是工作在網絡的7層之上,不支持TCP協議的轉發,1.9 以后可以通過stream模塊實現了tcp代理功能但是穩定性還是有所欠缺。而公司現有的系統有部分協議是ICE的因此如果不支持TCP協議改動會比較大。

2.Nginx不支持健康檢查,雖然后來淘寶出了個nginx_upstream_check_module但是需要額外安裝插件,另外這個插件也只是支持http的不支持TCP的。所以有一定的局限性。

*什么是健康檢查?簡單來說就是負載均衡服務器定時調用負載服務器某個HTTP接口或ping一下tpc端口檢查服務是否可用。這個對實現系統高可用非常有用,健康檢測可以自定義腳本來檢測后端服務,這有利于那些經常出現假死,無法通過常規判斷端口來檢測后臺是否正常的問題。 比如,RabbitMQ,業務程序自定義檢查等。目前HA支持3種形式檢查

1)通過監聽端口進行健康檢測 。這種檢測方式,haproxy只會去檢查后端server的端口,并不能保證服務的真正可用。

例如:

listen http_proxy 0.0.0.0:80
        mode http
        cookie SERVERID
        balance roundrobin
        option httpchk
        server web1 192.168.1.1:80 cookie server01 check
        server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2

2)通過URI獲取進行健康檢測 。檢測方式,是用過去GET后端server的的web頁面,基本上可以代表后端服務的可用性。

listen http_proxy 0.0.0.0:80
        mode http
        cookie SERVERID
        balance roundrobin
        option httpchk GET /index.html
        server web1 192.168.1.1:80 cookie server01 check
        server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2

3)通過request獲取的頭部信息進行匹配進行健康檢測 。這種檢測方式,則是基于高級,精細的一些監測需求。通過對后端服務訪問的頭部信息進行匹配檢測。 

listen http_proxy 0.0.0.0:80
        mode http
        cookie SERVERID
        balance roundrobin
        option httpchk HEAD /index.jsp HTTP/1.1\r\nHost:\ www.xxx.com
        server web1 192.168.1.1:80 cookie server01 check
        server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2

3.haproxy內置負載監控界面,可以很清晰看到負載情況。

這里并不是說Nginx比不上Haproyx只是相對而言Haproxy提供我們想要的功能,而且無需安裝其它插件,相對而言比較簡單。因此綜合考慮我們決定采用Haproyx+keepalive實現高可用。

下圖就是整個負載均衡的架構圖:

keepalived中怎么利用haproxy實現高可用和負載均衡

Haproxy安裝:

#下載
#http://www.haproxy.org/download/1.7/src/haproxy-1.7.8.tar.gz
#cd /data/nfs/download
#yum install gcc gcc-c++ autoconf automake -y

#安裝haproxy
tar -axf haproxy-* && cd ./haproxy-*
make TARGET=linux2628 ARCH=x86_64 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproyx
安裝成功后,查看版本
/usr/local/haproyx/sbin/haproxy -v

è??é??????????????è?°

復制haproxy文件到/usr/sbin下 
因為下面的haproxy.init啟動腳本默認會去/usr/sbin下找,當然你也可以修改,不過比較麻煩。

cp /usr/local/haproxy/sbin/haproxy /usr/sbin/

復制haproxy腳本,到/etc/init.d下

cp ./examples/haproxy.init /etc/init.d/haproxy
chmod 755 /etc/init.d/haproxy


創建系統賬號

useradd -r haproxy

創建配置文件

mkdir /etc/haproxy
vi /etc/haproxy/haproxy.cfg
在配置文件haproxy.cfg中添加如下設置:

#全局配置
global
    #設置日志
    log 127.0.0.1 local3 info
    chroot /usr/local/haproxy
    #用戶與用戶組
    user haproxy
    group haproxy
    #守護進程啟動
    daemon
    #最大連接數
    maxconn 4000

#默認配置
defaults
    log global
    mode http
    option httplog
    option dontlognull
    timeout connect 5000
    timeout client 50000
    timeout server 50000

#前端配置,http_front名稱可自定義
frontend http_front
    # 發起http請求道80端口,會被轉發到設置的ip及端口
    bind *:80
    #haproxy的狀態管理頁面,通過/haproxy?stats來訪問
    stats uri /haproxy?stats
    default_backend http_back

#后端配置,http_back名稱可自定義
backend http_back
    #負載均衡方式
    #source 根據請求源IP
    #static-rr 根據權重
    #leastconn 最少連接者先處理
    #uri 根據請求的uri
    #url_param 根據請求的url參數
    #rdp-cookie 據據cookie(name)來鎖定并哈希每一次請求
    #hdr(name) 根據HTTP請求頭來鎖定每一次HTTP請求
    #roundrobin 輪詢方式
    balance roundrobin
    #設置健康檢查頁面
    option httpchk GET /index.html
    #傳遞客戶端真實IP
    option forwardfor header X-Forwarded-For
    # inter 2000 健康檢查時間間隔2秒
    # rise 3 檢測多少次才認為是正常的
    # fall 3 失敗多少次才認為是不可用的
    # weight 30 權重
    # 需要轉發的ip及端口
    server node1 192.168.179.131:8081 check inter 2000 rise 3 fall 3 weight 30
    server node2 192.168.179.131:8082 check inter 2000 rise 3 fall 3 weight 30
 

keepalive安裝

yum -y install keepalived
vim /etc/keepalived/keepalived.conf

global_defs {

    notification_email {  

     root@localhost  

   }  

   notification_email_from root@localhost  

   smtp_server localhost  

   smtp_connect_timeout 30  

   router_id  NodeA 

}

vrrp_instance VI_1 {  

    state MASTER   #指定A節點為主節點 備用節點上設置為BACKUP即可  

    interface eth0   #綁定虛擬IP的網絡接口  

    virtual_router_id 51  #VRRP組名,兩個節點的設置必須一樣,以指明各個節點屬于同一VRRP組  

    priority 100   #主節點的優先級(1-254之間),備用節點必須比主節點優先級低  

    advert_int 1   #組播信息發送間隔,兩個節點設置必須一樣  

    authentication {   #設置驗證信息,兩個節點必須一致  

        auth_type PASS  

        auth_pass 1111  

    }  

    virtual_ipaddress {   #指定虛擬IP, 兩個節點設置必須一樣  

        192.168.1.220

    }  

}

interface eth0  這個的網卡名稱一定別弄錯了,要弄成自己的。可以使用 ip a 命令查看

啟動keepalive

/etc/init.d/keepalived start

以上就是keepalived中怎么利用haproxy實現高可用和負載均衡,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

伊川县| 旌德县| 内黄县| 威远县| 昌平区| 惠安县| 旅游| 韶山市| 吉木萨尔县| 嘉善县| 油尖旺区| 绥化市| 东光县| 旬阳县| 榆中县| 中江县| 济源市| 聂拉木县| 大连市| 平陆县| 胶州市| 尉犁县| 新密市| 乌鲁木齐县| 洪湖市| 吉首市| 那坡县| 社旗县| 合肥市| 麦盖提县| 温泉县| 玉林市| 武夷山市| 绥阳县| 磴口县| 岑溪市| 奈曼旗| 卢氏县| 合阳县| 大宁县| 桦南县|