動態(tài)hash的特點(diǎn)
? ??
服務(wù)器運(yùn)行時(shí)就可進(jìn)行權(quán)重調(diào)整,即只需要重新載入配置文件即可,不需要重新啟動haproxy
? ? 支持慢速啟動,即重新恢復(fù)的后端server不會一次性接收大量請求,而是慢慢拿回屬于自己的
static-rr-->不支持動態(tài)hash,沒有后端數(shù)量限制,基本不用
leastconn-->類似于lvs中的wlc
? ??
不過這里只考慮活動連接數(shù),即選擇活動連接數(shù)少的,另外,最好在長連接會話中使用,如sql,ldap
source-->基于hash表的算法,類似于nginx中的iphash
? ??
鍵:原IP地址的hash/值:挑選過的server,應(yīng)用于動態(tài)服務(wù)器,保持會話
? ? hash-type map-based
? ? 靜態(tài)hash
? ??
對于ip的hash取余
uri-->基于uri生成hash表的算法,主要用于后端是緩存服務(wù)器
? ? len
? ??
基于多少個(gè)字符的uri
? ? depth
? ? 基于多少個(gè)目錄層次的uri
? ??
? ? len 3
? ? hash的uri是/a/
? ??
? ? depth 3
? ? hash的uri是/a/b/c/
url_params-->根據(jù)url的參數(shù)來調(diào)度,用于將同一個(gè)用戶的信息,都發(fā)送到同一個(gè)后端server
? ? 參數(shù)指那一部分,先看下url格式,其中綠色加粗的就是
? ? <scheme>://<user>:<passwd>@<host>:<port>/<path>;
<params>
?<query>#<frag>
? ? <query>表示php程序請求的查詢信息
? ? <frag>表示當(dāng)前頁的片段頁,即跳轉(zhuǎn)到當(dāng)前頁的某個(gè)部分
? ? 這里的意思就是如果訪問的是hammers,則傳遞參數(shù)sale(并賦值false),如果訪問的是index.html,則傳遞參數(shù)graphics(并賦值ture)
? ? hdr(Host)
? ? 基于用戶請求的主機(jī)名進(jìn)行調(diào)度?