http層負載均衡之 haproxy實踐篇

2022-05-10 15:55:58 字數 2961 閱讀 5613

方案:haproxy http層負載均衡

安裝乙個haproxy服務,兩個web服務

haproxy:192.168.1.227:80

web1 

web2 

web服務自行準備,文章中就不說了

負載均衡演算法為輪詢排程

會話保持實現方式為cookie識別,插入cookie

優點:1 配置簡單

2 提供會話保持功能

3 效能不錯

安裝

tar -zxvf haproxy-1.49.tar.gz
cd haproxy-1.4.9
make target=linux26 prefix=/haproxy
make install prefix=/haproxy

建立日誌目錄

mkdir /home/haproxy/logs/

建立配置檔案目錄

mkdir /etc/haproxy/

prefix=/haproxy : 安裝目錄字首

啟動程式將安裝在 /haproxy/sbin/haproxy

配置vim /etc/haproxy/haproxy.cfg

#插入cookie的方式

cookie srv insert indirect nocache

#模式有http tcp health

#檢視狀態

stats uri /haproxy-stats

stats refresh 10s

monitor-uri /haproxy_test

#負載均衡方案:輪調

#後端可以獲取客戶端的真實ip

option forwardfor

#健康檢查

#後端真實服務

server weba 192.168.1.226:8081 cookie a check

server webb 192.168.1.246:8888 cookie b check

這裡注意配置檢查位址

啟動/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg

檢視程序

ps -ef|grep haproxy

關閉程序

kill –9 pid

檢視監控頁面

測試

然後開啟不同的瀏覽器,模擬使用者訪問

會看到

證明請求被分發到不同的web伺服器了

檢視cookie

cookie被加入了srv=a

會話保持的流程

1.客戶端首次請求,經過haproxy到web服務端時,web服務端set-cookie並響應到haproxy

2.haproxy在cookie後插入srv=a,並響應客戶端

3.客戶端第二次請求,經過haproxy時,haproxy將srv字尾去掉,然後請求服務端

總結

該方案解決的問題

1.負載均衡,並解決web服務的單點故障

2.會話保持

存在的缺點

1.web伺服器的session儲存存在單點故障,即其中一台web伺服器宕機之後,儲存在上面的session也會丟失

2.負載均衡伺服器存在單點故障

負載均衡之HTTP重定向

由於目前現有網路的各個核心部分隨著業務量的提高,訪問量和資料流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的伺服器裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體公升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提公升時,這又將導致再一次硬體公升級的高額成本投入,...

負載均衡之HTTP重定向

由於目前現有網路的各個核心部分隨著業務量的提高,訪問量和資料流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的伺服器裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體公升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提公升時,這又將導致再一次硬體公升級的高額成本投入,...

四層負載均衡和七層負載均衡

第一,技術原理上的區別。所謂四層負載均衡,也就是主要通過報文中的目標位址和埠,再加上負載均衡裝置設定的伺服器選擇方式,決定最終選擇的內部伺服器。以常見的 tcp為例,負載均衡裝置 在接收到第乙個來自客戶端的 syn請求時 即通過上述方式選擇乙個最佳的伺服器,並對報文中目標 ip位址進行修改 改為後端...