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

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

Haproxy服務調(diào)優(yōu)及配置內(nèi)容詳解-創(chuàng)新互聯(lián)

通過博文:Nginx+Tomcat實現(xiàn)負載均衡群集實例,可跟做!??!
LVS負載均衡群集詳解
已經(jīng)能夠使用Nginx、LVS做負載均衡群集,它們各自都具有各自的特點,今天,我們認識一款比較流行的群集調(diào)度工具——Haproxy。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,梅里斯企業(yè)網(wǎng)站建設,梅里斯品牌網(wǎng)站建設,網(wǎng)站定制,梅里斯網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,梅里斯網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

一、Haproxy概述

Haproxy是目前比較流行的一種群集調(diào)度工具,同類群集調(diào)度工具還有很多,比如:LVS和Nginx。相比較而言:LVS性能最好,但是搭建相對復雜;Nginx的upstream模塊支持群集功能,但是對群集節(jié)點健康檢查功能并不強,性能也不及Haproxy好。

二、使用Haproxy必須要了解的知識點

1.HTTP請求

通過URL訪問網(wǎng)站使用的協(xié)議是HTTP協(xié)議,此類請求一般稱為HTTP請求。

HTTP請求的方式分為GET方式和POST方式,二者的區(qū)別:

  • GET方式:內(nèi)容少(一般不可以超過8kB)、不安全,內(nèi)容直接附加在URL上;
  • POST方式:內(nèi)容多、安全;

當使用瀏覽器訪問某一個URL,會根據(jù)請求URL返回狀態(tài)碼,通常正常是的狀態(tài)碼是:2 X X、3 XX(比如201、301),如果出現(xiàn)異常就會返回4 X X、5 XX(比如401、501)。

HTTP請求返回狀態(tài)碼詳情,可以參考博文:HTTP請求返回狀態(tài)碼詳解

2.負載均衡常用調(diào)度算法

利用LVS、Haproxy、Nginx搭建群集最常用的調(diào)度算法有三種:

(1)RR(輪詢算法)

RR(Round Robin):RR算法是最簡單,也最容易理解,即輪詢調(diào)度。此算法還有一種加權輪詢,即根據(jù)每個節(jié)點的權重輪詢分配訪問請求。

此算法主要用于節(jié)點服務器性能都差不多,要工作都工作;

(2)LC(最小連接數(shù)算法)

LC(Least Connections):即最小連接數(shù)算法,根據(jù)后端的節(jié)點連接數(shù)大小動態(tài)分配前端請求。能保證將新的請求分配給連接數(shù)最少的客戶端。由于實際情況中,各個節(jié)點的連接數(shù)對動態(tài)釋放,很難出現(xiàn)一樣連接數(shù)的情況,因此此算法想比較RR算法有很大的改進,是目前用到最多的一種算法。

(3)SH(基于來源訪問調(diào)度算法)

SH(Source Hashing):即基于來源訪問調(diào)度算法,此算法用于一些有Session會話記錄在服務器端的場景,可以基于來源的IP、Cookie等做群集調(diào)度。此算法的好處就是實現(xiàn)會話保持,但某些IP訪問量非常大時會引起負載不均衡,部分節(jié)點訪問量大,影響業(yè)務使用。

3.常見的Web群集調(diào)度器

目前最常見的Web群集調(diào)度器分為軟件和硬件;軟件通常使用開源的LVS、Haproxy、Nginx;硬件一般使用比較多的是F5,也有很多人使用國內(nèi)的一些產(chǎn)品。如梭子魚、綠盟等。

4.Haproxy的應用環(huán)境

如圖:
Haproxy服務調(diào)優(yōu)及配置內(nèi)容詳解

三、安裝Haproxy

Haproxy的安裝包網(wǎng)盤鏈接:https://pan.baidu.com/s/10masYgp7VSWuZu8ebZ-pfQ
提取碼:2l44

1.編譯安裝Haproxy

[root@localhost ~]# yum -y install pcre-devel bzip2-devel
//安裝依賴包,讓Haproxy服務支持正則表達式、解壓
[root@localhost ~]# tar zxf haproxy-1.5.19.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/haproxy-1.5.19/
[root@localhost haproxy-1.5.19]# make TARGET=linux26            //表示是64系統(tǒng)
//正常解壓即可,但是這個軟件不需要配置。
[root@localhost haproxy-1.5.19]# make install

2.Haproxy服務配置

(1)建立Haproxy配置文件
[root@localhost haproxy-1.5.19]# mkdir /etc/haproxy
[root@localhost haproxy-1.5.19]# cp /usr/src/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/
//將haproxy.cfg文件復制到配置文件目錄
(2)Haproxy配置項詳解

Haproxy 配置文件通常分為三個部分:

  • global(全局配置);
  • defaults(默認配置);
  • listen(應用組件配置)

global(全局配置)通常有以下配置參數(shù):

global
        log 127.0.0.1   local   #配置日志記錄,local0為日志設備,默認存放到系統(tǒng)日志
        log 127.0.0.1   local1 notice  #notice為日志級別,通常有24個級別
        #log loghost    local0 info
        maxconn 4096             #大連接數(shù)
        chroot /usr/share/haproxy         #該服務自設置的根目錄,一般需將此行注釋掉
        uid 99         #用戶UID
        gid 99        #用戶GID
        daemon        #守護進程模式

defaults(默認配置)一般會被應用組件繼承,如果在應用組件中沒有特別聲明,將安裝默認配置參數(shù)設置,常見的參數(shù)有:

defaults
        log     global               #定義日志為global配置中的日志定義
        mode    http                 #模式為http
        option  httplog              #采用http日志格式記錄日志
        option  dontlognull
        retries 3         #檢查節(jié)點服務器失敗次數(shù),連續(xù)達到三次失敗,則認為節(jié)點不可用
        redispatch             #當服務器負載很高時,自動結束當前隊列處理比較久的連接
        maxconn 2000                      #大連接數(shù)
        contimeout      5000              #連接超時時間
        clitimeout      50000             #客戶端超時時間
        srvtimeout      50000             #服務器超時時間

listen(配置項)一般配置應用模塊參數(shù):

listen  appli4-backup 0.0.0.0:10004           #定義一個名為appli4-backup的應用
                option  httpchk /index.html        #檢查服務器的index.html文件
                option  persist     #強制將請求發(fā)送到已經(jīng)down掉的服務器,一般禁用此選項。
                balance roundrobin        #負載均衡調(diào)度算法使用輪詢算法
            server  inst1 192.168.114.56:80 check inter 2000 fall 3     #定義在線節(jié)點
         server  inst2 192.168.114.56:81 check inter 2000 fall 3 backup #定義備份節(jié)點
#注意:在以上定義備份節(jié)點的參數(shù)中,
#“check inter 2000”表示haproxy服務器和節(jié)點之間的一個心跳頻率,
#“fall 3”表示連續(xù)三次檢測不到心跳頻率則認為該節(jié)點失效。
#節(jié)點配置后帶有“ backup”表示該節(jié)點只是個備份節(jié)點,只有主節(jié)點失效該節(jié)點才會上。
#去除backup,表示為主節(jié)點,和其他主節(jié)點共同提供服務。
(3)Haproxy的參數(shù)調(diào)優(yōu)

如圖:
Haproxy服務調(diào)優(yōu)及配置內(nèi)容詳解

以下修改的配置文件可以滿足正常需求,如果詳細閱讀以上配置項的意思,可以自行添加需求。

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        #chroot /usr/share/haproxy
        uid 99
        gid 99
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        #redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen  appli1-rewrite 0.0.0.0:80
        option httpchk GET /index.html
        balance roundrobin
        server  app1_1 192.168.1.3:80 check inter 2000 rise 2 fall 5
        server  app1_2 192.168.1.4:80 check inter 2000 rise 2 fall 5

這里就不解釋具體都是什么意思了。

(4)創(chuàng)建啟動腳本
[root@localhost ~]# cp /usr/src/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
[root@localhost ~]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy 
[root@localhost ~]# chmod +x /etc/init.d/haproxy 
[root@localhost ~]# chkconfig --add /etc/init.d/haproxy 
[root@localhost ~]# /etc/init.d/haproxy start
Starting haproxy (via systemctl):                          [  確定  ]
//都是很基礎的命令,這里就不解釋都是什么意思了
(5)Haproxy服務的日志

Haproxy的日志默認輸出到系統(tǒng)的syslog中,查看起來非常不方便,為了更好的管理Haproxy的日志信息,我們在聲場環(huán)境中一般單獨定義出來。方法如下:

[root@localhost ~]# vim /etc/haproxy/haproxy.cfg 
global
        log /dev/log local0 info
        log /dev/log local0 notice
//添加兩行內(nèi)容,把原本關于日志的信息注釋掉
[root@localhost ~]# systemctl restart haproxy
//重啟服務
[root@localhost ~]# vim /etc/rsyslog.d/haproxy.conf
//定義Haproxy服務的日志文件存放的位置,添加如下內(nèi)容:
if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
& ~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
& ~
[root@localhost ~]# systemctl restart rsyslog
//重啟日志服務

當客戶端訪問時,就可以利用以下命令查看Haproxy服務的日志文件

[root@localhost ~]# tail -f /var/log/haproxy/haproxy-info.log

———————— 本文至此結束,感謝閱讀 ————————

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


分享題目:Haproxy服務調(diào)優(yōu)及配置內(nèi)容詳解-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/dcpcjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部