今天小編給大家分享的是Haproxy搭建Web群集圖文概述,相信大部分人都不太了解,為了讓大家更加了解,所以給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。
十年的嘉蔭網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整嘉蔭建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“嘉蔭網(wǎng)站設計”,“嘉蔭網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
博文目錄
一、Haproxy概述
1、HTTP請求
2、負載均衡常用調(diào)度算法
3、常見的Web群集調(diào)度器
二、Haproxy配置項介紹
1、global配置項通常有下面配置參數(shù):
2、defaults配置項配置默認參數(shù),一般會被應用組件繼承,如果在應用組件中沒有特別的聲明,將安裝默認配置參數(shù):
3、listen配置項一般配置應用模塊參數(shù):
三、Haproxy的參數(shù)優(yōu)化
Haproxy是目前比較流行的一種群集調(diào)度工具,同類群集調(diào)度工具有很多,如LVS和Nginx。相比較而言,LVS性能最好,但是搭建相對復雜;Nginx的upstream模塊支持群集功能,但是對群集節(jié)點健康檢查功能不強,性能沒有Haproxy好。Haproxy官方網(wǎng)站是http://www.haproxy.org/ 。
通過URL訪問網(wǎng)站使用的協(xié)議是HTTP協(xié)議,此類請求一般稱為HTTP請求。HTTP請求的方式分為GET方式和POST方式。
當使用瀏覽器訪問某一個URL,會根據(jù)請求URL返回狀態(tài)碼,通常正常的狀態(tài)碼為2 X X、3 X X(如200、301),如果出現(xiàn)異常會返回4 X X、5 X X(如400、500)。例如:訪問http://www.test.com/a.php?ld=123 ,就是一個GET請求,如果訪問正常,會從服務器的日志中獲取200狀態(tài)碼。假如此請求使用POST方式,那么傳遞給a.php的ld參數(shù)依舊是123,但是瀏覽器的URL將不會顯示后面的ld=123字樣,因此表單類或者有用戶名、密碼等內(nèi)容提交時建議使用POST方式。不管使用哪種方式,最終a.php獲取的值是一樣的。
LVS、Haproxy、Nginx最常用的調(diào)度算法有三種,如下所述:
RR(Round Robin):動態(tài)加權輪詢算法,支持權重的運行時調(diào)整及慢啟動機制;最大支持4095個后端主機;在服務器的處理時間平均分配的情況下這是最流暢和公平的算法。該算法是動態(tài)的,對于實例啟動慢的服務器權重會在運行中調(diào)整。
LC(Least Connections): 最小連接數(shù)算法,連接數(shù)最少的服務器優(yōu)先接收連接。建議用于長會話場景中使用,例如LDAP、SQL等協(xié)議,而不適合短會話協(xié)議。如HTTP.該算法是動態(tài)的,對于實例啟動慢的服務器權重會在運行中調(diào)整。
- SH(Source Hashing):源地址哈希算法,對請求源IP地址進行哈希;取模法:將源地址hash計算后除以服務器總權重,服務器變動會影響全局調(diào)度效果;根據(jù)結(jié)果進行分配。只要服務器正常,同一個客戶端IP地址總是訪問同一個服務器。如果哈希的結(jié)果隨可用服務器數(shù)量而變化,那么客戶端會定向到不同的服務器;該算法默認是靜態(tài)的,所以運行時修改服務器的權重是無效的,但是算法會根據(jù)“hash-type”的變化做調(diào)整。
該算法一般用于不能插入cookie的Tcp模式。它還可以用于廣域網(wǎng)上為拒絕使用會話cookie的客戶端提供最有效的粘連;一致性hash:服務器變動僅影響局部調(diào)度;動態(tài)調(diào)度。
目前常見的Web群集調(diào)度器分為軟件和硬件,軟件通常使用開源的LVS、Haproxy、Nginx;硬件一般使用比較多的是F5,也有很多人使用國內(nèi)的一些產(chǎn)品,如梭子魚、綠盟等。
Haproxy的配置文件通常分為三個部分:
- global;
- defaults;
- listen;
global為全局配置,defaults為默認配置,listen為應用組件配置。
global
log 127.0.0.1 local
log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
chroot /usr/share/haproxy
uid 99
gid 99
daemon
defaults
log global
mode http
option httplog
option dontlognull
retries 3
redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen appli4-backup 0.0.0.0:10004
option httpchk /index.html
option persist
balance roundrobin
server inst1 192.168.114.56:80 check inter 2000 fall 3
server inst2 192.168.114.56:81 check inter 2000 fall 3 backup
關于Haproxy的參數(shù)優(yōu)化,以下列舉了幾個關鍵的參數(shù),并對各參數(shù)的生產(chǎn)環(huán)境的優(yōu)化建議做了說明:
關于Haproxy搭建Web群集就分享到這里了,希望以上內(nèi)容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到