backend
blance 算法

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