一、利用haproxy實現簡單的負載均衡
1、各服務器IP地址
nodeboss:192.168.1.10
nodeOne:192.168.1.11
haproxy
eth0:192.168.42.141
eth1:192.168.1.1
2、配置Real-Server:
在兩個node服務器上安裝web服務
#yum install httpd -y
分別爲兩個服務器編寫兩個網頁文件
3、安裝配置haproxy
haproxy的eth1與nodeOne和nodeboss處於同一本地網絡
安裝服務
#yum install haproxy -y
編輯配置文件
在文件/etc/rsyslog.conf添加如下內容
local2.* /var/log/haproxy.log
4、在瀏覽器中輸入:http://192.168.42.141,多次刷新觀察是否能夠輪詢;或者使用curl http://192.168.42.141命令查詢
二、配置文件解讀
1、haproxy的配置
global setting:全局配置段
主要用於定義haproxy進程自身的工作特性
proxies:代理配置段
backend:後端服務器組
frontend:定義面向客戶的監聽地址和端口,以及關聯到後端服務器組
listen:組合方式直接定義frontend及相關的baskend的一種機制
defaults:定義默認配置,定義
2、支持那些調度算法:
roundrobin:wrr、支持慢啓動(slow start),dynamic,最多可以在後端支持4095個Server,可以爲每個Server定義權重
static-rr:wrr,靜態輪詢調度,不支持慢啓動,static,後端Server數量沒有限制
leastconn:wlc,dynamic
source:主要曾對需要保持回話的動態請求;建議用於基於TCP模式調度且不使用cookie插入模式使用,有hash-type參數決定氣味dunamic或這static相當於ipvs的sh,以及nginx的ip_hash
uri:主要對於緩存服務區;基於請求報文中的uri的左半部分(查詢條件之前的部分)或全部的uri進行調度,常用於backend server爲cache server的場景中;取決於hash-type參數數決定其爲dunamic或着static
url_params:常用於後端服務器需要對用戶進行認證的場景中,由hash-type參數數決定其爲dunamic或着static
hdr(<name>):根據用戶請求的報文中,制定的http首部的至進行調度
hdr(host):長用於實現將度itong一個虛擬主機的請求始終發往backend server
use_domain_only:在計算hash值時僅使用域名由hash-type參數數決定其爲dunamic或着static