您好,登錄后才能下訂單哦!
下文給大家帶來Haproxy配置及負載均衡算法概況,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗來做一個解答。
一、Haproxy配置介紹:
1、global:參數是進程級的,通常和操作系統(OS)相關。這些參數一般只設置一次,如果配置無誤,就不需要再次配置進行修改。
2、defaults:配置默認參數的,這些參數可以被利用配置到frontend,backend,listen組件。
3、frontend:接收請求的前端虛擬節點,Frontend可以根據規則直接指定具體使用后端的 backend(可動態選擇)。
4、backend:后端服務集群的配置,是真實的云服務器,一個Backend對應一個或者多個實體服務器。
5、listen:Frontend和Backend的組合體。
二、Haproxy負載均衡算法介紹:
balance roundrobin # 輪詢,軟負載均衡基本都具備這種算法
balance static-rr # 根據權重,建議使用
balance leastconn # 最少連接者先處理,建議使用
balance source # 根據請求源IP,建議使用
balance uri # 根據請求的URI
balance url_param # 根據請求的URl參數'balance url_param' requires an URL parameter name
balance hdr(name) # 根據HTTP請求頭來鎖定每一次HTTP請求
balance rdp-cookie(name) # 根據據cookie(name)來鎖定并哈希每一次TCP請求
三、用戶Session保持、共享:
由于用戶請求經過Haproxy處理轉發到不同服務器之后,可能導致Session會話不同步的問題,若想實現會話共享或保持,可采用如下3種方式:
1、基于IP地址:
配置:balance source
實現原理:類似Nginx的IP_Hash,將用戶IP經過Hash對比判斷之后,將請求轉發到后端服務器。
2、基于Cookie識別:
配置:cookie SESSION_COOKIE insert indirect nocache
實現原理:向Web服務器端發送給客戶端的Cookie中插入(或添加加前綴)haproxy定義的后端的服務器COOKIE ID。
3、基于Session識別:
配置:appsession JSESSIONID len 64 timeout 5h request-learn
實現原理:Haproxy將后端服務器產生的session和后端服務器標識存在haproxy中的一張表里。客戶端請求時先查詢這張表。
看了以上關于Haproxy配置及負載均衡算法概況,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。