真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

keepalived中怎么利用haproxy實(shí)現(xiàn)高可用和負(fù)載均衡

本篇文章給大家分享的是有關(guān)keepalived中怎么利用haproxy實(shí)現(xiàn)高可用和負(fù)載均衡,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來(lái)看看吧。

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開發(fā)人員和項(xiàng)目經(jīng)理組成的專業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺設(shè)計(jì)、用戶體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、成都做網(wǎng)站、網(wǎng)站制作易于使用并且具有良好的響應(yīng)性。

1.Nginx是工作在網(wǎng)絡(luò)的7層之上,不支持TCP協(xié)議的轉(zhuǎn)發(fā),1.9 以后可以通過stream模塊實(shí)現(xiàn)了tcp代理功能但是穩(wěn)定性還是有所欠缺。而公司現(xiàn)有的系統(tǒng)有部分協(xié)議是ICE的因此如果不支持TCP協(xié)議改動(dòng)會(huì)比較大。

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

*什么是健康檢查?簡(jiǎn)單來(lái)說就是負(fù)載均衡服務(wù)器定時(shí)調(diào)用負(fù)載服務(wù)器某個(gè)HTTP接口或ping一下tpc端口檢查服務(wù)是否可用。這個(gè)對(duì)實(shí)現(xiàn)系統(tǒng)高可用非常有用,健康檢測(cè)可以自定義腳本來(lái)檢測(cè)后端服務(wù),這有利于那些經(jīng)常出現(xiàn)假死,無(wú)法通過常規(guī)判斷端口來(lái)檢測(cè)后臺(tái)是否正常的問題。 比如,RabbitMQ,業(yè)務(wù)程序自定義檢查等。目前HA支持3種形式檢查

1)通過監(jiān)聽端口進(jìn)行健康檢測(cè) 。這種檢測(cè)方式,haproxy只會(huì)去檢查后端server的端口,并不能保證服務(wù)的真正可用。

例如:

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獲取進(jìn)行健康檢測(cè) 。檢測(cè)方式,是用過去GET后端server的的web頁(yè)面,基本上可以代表后端服務(wù)的可用性。

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獲取的頭部信息進(jìn)行匹配進(jìn)行健康檢測(cè) 。這種檢測(cè)方式,則是基于高級(jí),精細(xì)的一些監(jiān)測(cè)需求。通過對(duì)后端服務(wù)訪問的頭部信息進(jìn)行匹配檢測(cè)。 

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內(nèi)置負(fù)載監(jiān)控界面,可以很清晰看到負(fù)載情況。

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

下圖就是整個(gè)負(fù)載均衡的架構(gòu)圖:

keepalived中怎么利用haproxy實(shí)現(xiàn)高可用和負(fù)載均衡

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

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

復(fù)制haproxy文件到/usr/sbin下 
因?yàn)橄旅娴膆aproxy.init啟動(dòng)腳本默認(rèn)會(huì)去/usr/sbin下找,當(dāng)然你也可以修改,不過比較麻煩。

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

復(fù)制haproxy腳本,到/etc/init.d下

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


創(chuàng)建系統(tǒng)賬號(hào)

useradd -r haproxy

創(chuàng)建配置文件

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

#全局配置
global
    #設(shè)置日志
    log 127.0.0.1 local3 info
    chroot /usr/local/haproxy
    #用戶與用戶組
    user haproxy
    group haproxy
    #守護(hù)進(jìn)程啟動(dòng)
    daemon
    #最大連接數(shù)
    maxconn 4000

#默認(rèn)配置
defaults
    log global
    mode http
    option httplog
    option dontlognull
    timeout connect 5000
    timeout client 50000
    timeout server 50000

#前端配置,http_front名稱可自定義
frontend http_front
    # 發(fā)起http請(qǐng)求道80端口,會(huì)被轉(zhuǎn)發(fā)到設(shè)置的ip及端口
    bind *:80
    #haproxy的狀態(tài)管理頁(yè)面,通過/haproxy?stats來(lái)訪問
    stats uri /haproxy?stats
    default_backend http_back

#后端配置,http_back名稱可自定義
backend http_back
    #負(fù)載均衡方式
    #source 根據(jù)請(qǐng)求源IP
    #static-rr 根據(jù)權(quán)重
    #leastconn 最少連接者先處理
    #uri 根據(jù)請(qǐng)求的uri
    #url_param 根據(jù)請(qǐng)求的url參數(shù)
    #rdp-cookie 據(jù)據(jù)cookie(name)來(lái)鎖定并哈希每一次請(qǐng)求
    #hdr(name) 根據(jù)HTTP請(qǐng)求頭來(lái)鎖定每一次HTTP請(qǐng)求
    #roundrobin 輪詢方式
    balance roundrobin
    #設(shè)置健康檢查頁(yè)面
    option httpchk GET /index.html
    #傳遞客戶端真實(shí)IP
    option forwardfor header X-Forwarded-For
    # inter 2000 健康檢查時(shí)間間隔2秒
    # rise 3 檢測(cè)多少次才認(rèn)為是正常的
    # fall 3 失敗多少次才認(rèn)為是不可用的
    # weight 30 權(quán)重
    # 需要轉(zhuǎn)發(fā)的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節(jié)點(diǎn)為主節(jié)點(diǎn) 備用節(jié)點(diǎn)上設(shè)置為BACKUP即可  

    interface eth0   #綁定虛擬IP的網(wǎng)絡(luò)接口  

    virtual_router_id 51  #VRRP組名,兩個(gè)節(jié)點(diǎn)的設(shè)置必須一樣,以指明各個(gè)節(jié)點(diǎn)屬于同一VRRP組  

    priority 100   #主節(jié)點(diǎn)的優(yōu)先級(jí)(1-254之間),備用節(jié)點(diǎn)必須比主節(jié)點(diǎn)優(yōu)先級(jí)低  

    advert_int 1   #組播信息發(fā)送間隔,兩個(gè)節(jié)點(diǎn)設(shè)置必須一樣  

    authentication {   #設(shè)置驗(yàn)證信息,兩個(gè)節(jié)點(diǎn)必須一致  

        auth_type PASS  

        auth_pass 1111  

    }  

    virtual_ipaddress {   #指定虛擬IP, 兩個(gè)節(jié)點(diǎn)設(shè)置必須一樣  

        192.168.1.220

    }  

}

interface eth0  這個(gè)的網(wǎng)卡名稱一定別弄錯(cuò)了,要弄成自己的??梢允褂?ip a 命令查看

啟動(dòng)keepalive

/etc/init.d/keepalived start

以上就是keepalived中怎么利用haproxy實(shí)現(xiàn)高可用和負(fù)載均衡,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞名稱:keepalived中怎么利用haproxy實(shí)現(xiàn)高可用和負(fù)載均衡
分享路徑:http://weahome.cn/article/gsdogp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部