HaProxy提供高可用性、負載均衡以及基于TCP和HTTP應用的代理,支持虛擬主機,它是免費、快速并且可靠的一種解決方案。應用到Haproxy主要是因為他免費,并且基于TCP和HTTP的應用代理。

先介紹一下Haproxy的應用場景,一個是TCP代理,這邊也是我項目中應用的,另一個是HTTP代理,我就簡單介紹一下?;赥cp協議的Haproxy代理應用場景:在VPC網絡環(huán)境下,虛機A的數據庫不能被外界網絡訪問到,只能被在同一內網環(huán)境下的虛機B訪問,這時候可以通過在虛機B上搭建Haproxy環(huán)境,通過Haproxy代理實現外部虛機C對虛機A數據庫的訪問;這里我項目中實際運用到的場景是這樣的,在公有云上創(chuàng)建RDS實例,會有VPC網絡和Classic網絡,在選擇VPC網絡創(chuàng)建RDS后,在進行數據同步時,會對該RDS數據庫進行數據同步,這時候由于RDS的數據庫在VPC網絡環(huán)境下,外網是不能直接訪問這個RDS數據庫。這時候我們采用的是用一個ECS云服務器上搭建一個Haproxy代理,公網通過haproxy代理訪問這個RDS數據庫,這樣就解決了VPC網絡的訪問問題;

基于HTTP協議的Haproxy代理應用場景:用戶訪問網站域名時,通過我們設置的Haproxy代理,HTTP請求到后端配置的web服務器上,獲得后方服務器返回的內容后重新封裝,響應給客戶端;就不啰嗦了,直接來干貨,應用haproxy代理訪問后端mysql數據庫(這里不一定是mysql數據庫)。

(一)Haproxy下載、安裝:網上的資源都要積分,所以直接在yum上找免費資源。

yum install -y haproxy
rpm -qi haproxy
rpm -ql haproxy

(二)配置haproxy.cfg文件(重點)

cd /etc/haproxy
vim haproxy.cfg