Haproxy实现负载均衡
含義及理解:
1 . HAProxy提供高可用性、負(fù)載均衡以及基于TCP和HTTP應(yīng)用的代理,支持虛擬主機(jī), 它是免費、快速并且可靠的一種解決方案。HAProxy特別適用于那些負(fù)載特大的web站點, 這些站點通常又需要會話保持或七層處理。HAProxy運行在當(dāng)前的硬件上,完全可以支持?jǐn)?shù)以萬計的并發(fā)連接。并且它的運行模式使得它可以很簡單安全的整 合進(jìn)您當(dāng)前的架構(gòu)中, 同時可以保護(hù)你的web服務(wù)器不被暴露到網(wǎng)絡(luò)上。
2 . HAProxy 支持連接拒絕:因為維護(hù)一個連接的打開的開銷是很低的,有時我們很需要限制攻擊蠕蟲(attack bots),也就是說限制它們的連接打開從而限制它們的危害。 這個已經(jīng)為一個陷于小型DDoS攻擊的網(wǎng)站開發(fā)了而且已經(jīng)拯救了很多站點,這個優(yōu)點也是其它負(fù)載均衡器沒有的。
實驗搭建:
server1 :haproxy :172.25.13.110
server2 :web1 :172.25.13.120
server3 :web2 :172.25.13.130
首先安裝服務(wù)在server1
yum install haproxy -y vim /etc/haproxy/haproxy.cfg添加下面的內(nèi)容:
后端服務(wù)器設(shè)置:
安裝開啟httpd服務(wù)并且設(shè)置共享頁面。此處可以設(shè)置不同的共享內(nèi)容,便于區(qū)分訪問的后端真實服務(wù)器,明顯的表現(xiàn)出負(fù)載均衡的效果。
測試: curl 172.25.13.110
發(fā)現(xiàn)實現(xiàn)反向代理以及負(fù)載均衡
作為反向代理服務(wù)器,varnish將自己的端口偽裝成所代理的后端服務(wù)器的端口,因此只能代理一種服務(wù),但是haproxy可以同時代理多個服務(wù)。只需要設(shè)置不同的代理配置段。
配置文件中寫入了監(jiān)控頁面,可以直接在web頁面上監(jiān)控后端服務(wù)狀態(tài):
訪問:172.25.13.110:8080/status
haproxy 自帶后端服務(wù)器的健康檢查,當(dāng)某一個后端服務(wù)器宕機(jī)之后,其會自動自動將其移除出輪詢隊列,并在監(jiān)控頁面顯示異常:
關(guān)閉server3httpd服務(wù),模擬異常:
再次使用客戶端進(jìn)行訪問測試:只訪問正常的后端服務(wù)器
[root@foundation13 images]# curl 172.25.13.110 server2 [root@foundation13 images]# curl 172.25.13.110 server2 [root@foundation13 images]# curl 172.25.13.110 server2查看監(jiān)控頁面:異常后端服務(wù)被標(biāo)紅:
動靜分離
根據(jù)實際情況可客戶方訪問請求,將不同類型的訪問請求調(diào)轉(zhuǎn)到不同的后端服務(wù)器。php請求交給php server處理,jsp請求交給tomcat處理,即業(yè)務(wù)上的應(yīng)用請求分離,而haproxy完全可以利用acl匹配規(guī)則實現(xiàn)這一目的.
修改主機(jī)配置文件:
#設(shè)置接收請求的前端虛擬節(jié)點,Frontend可以增加規(guī)則直接指定具體使用后端的backend frontend main *:80 acl url_static path_beg -i /imagesacl url_static path_end -i .jpg .gif .png .css .js # 增加規(guī)則use_backend static if url_static default_backend app # 不同的條件對應(yīng)不同的后端服務(wù)器backend static # 定義后端服務(wù)器server web1 172.25.13.120:80 checkbackend app # 定義后端服務(wù)器server web2 172.25.13.130:80 checksystemctl restart haproxy 重新啟動服務(wù)
后端服務(wù)器設(shè)置:
當(dāng)訪問 http://172.25.13.110/images 時候,請求會被調(diào)轉(zhuǎn)到 172.25.13.120 。需要在該主機(jī)中創(chuàng)建:/var/www/html/images 目錄 ,提前在該目錄中放置一張圖片。
使用客戶端訪問 http://172.25.13.110/images 。訪問指定的后端服務(wù)器 172.25.13.120
主要是根據(jù)不同的請求將其指定到不同后端服務(wù)器,這就是動靜分離。
總結(jié)
以上是生活随笔為你收集整理的Haproxy实现负载均衡的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10 iot core java_
- 下一篇: python统计行号_利用Python进