在大型系統(tǒng)設(shè)計(jì)中用代理在負(fù)載均衡是最常見的一種方式,而相對(duì)靠譜的解決方案中Nginx、HAProxy、LVS、F5在各大場(chǎng)中用得比較普遍,各有各的優(yōu)勢(shì)和使用場(chǎng)景,由于本次要使用到TCP,因此Nginx只能在HTTP層負(fù)載,因此用HAProxy來負(fù)載,為什么不用LVS?因?yàn)榕渲锰闊?/span>
HAProxy是免費(fèi)、極速且可靠的用于為TCP和基于HTTP應(yīng)用程序提供高可用、負(fù)載均衡和代理服務(wù)的解決方案,尤其適用于高負(fù)載且需要持久連接或7層處理機(jī)制的web站點(diǎn)。HAProxy還可以將后端的服務(wù)器與網(wǎng)絡(luò)隔離,起到保護(hù)后端服務(wù)器的作用。HAProxy的負(fù)載均衡能力雖不如LVS,但也是相當(dāng)不錯(cuò),而且由于其工作在7層,可以對(duì)http請(qǐng)求報(bào)文做深入分析,按照自己的需要將報(bào)文轉(zhuǎn)發(fā)至后端不同的服務(wù)器(例如動(dòng)靜分離),這一點(diǎn)工作在4層的LVS無法完成。
環(huán)境
CentOS6.X
HAProxy 1.7.3
用root用戶安裝