<pre name="code" class="sql">负载均衡四层和七层主要是根据网络的结构来的。一般来说,四层主要是网络层,也就是TCP和UDP的负载均衡(主要是TCP的)。七层是应用层,主要是指HTTP、FTP、HTTPS等的负载均衡。
四层负载均衡的典型软件如LVS,七层负载均衡的比较典型软件如haproxy,nginx等。
7层模式下,HAProxy会分析协议,并且能通过允许、拒绝、交换、增加、修改或者***请求 (request)或者回应(response)里指定内容来控制协议,这种操作要基于特定规则。(新的1.3之后的版本引入了frontend,backend指
令;frontend根据任意 HTTP请求头内容做规则匹配,然后把请求定向到相关的backend.)
7层负载均衡:mode http
4层负载均衡: mode tcp #配置TCP模式
listen bbs_slave 10.0.100.82:3306
mode tcp #配置TCP模式
maxconn 2000
balance roundrobin
#option httpchk OPTIONS * HTTP/1.1
Host: www
server slave01 10.0.100.75:3306 check port 9120 inter 5000 rise 3 fall 3 weight 3
server slave02 10.0.100.76:3306 check port 9120 inter 5000 rise 3 fall 3 weight 3
srvtimeout 20000
haproxy 4层负载:
Haproxy 7层负载均衡
拓扑:
app ----> mysql_master(write)
|
haproxy(read)
|
mysql_slave*N
一 Haproxy 部分
acl pay_req path_beg -i /pay
use_backend appserver_8083 if pay_req
backend appserver_8083
mode http
balance roundrobin
server apphost21_8083 10.171.240.139:8083 check inter 2000 fall 3
server apphost22_8083 10.252.163.244:8083 check inter 2000 fall 3
7层负载:就是url跳转
acl host_zjcap.cn hdr_beg(host) -i zjcap.cn
acl host_zjzb.cn hdr_beg(host) -i zhongjunziben.com
acl www_zjzb.cn hdr_beg(host) -i www.zhongjunziben.com
acl host_zjzc.cn hdr_beg(host) -i zhongjunzichan.com
acl www_zjzc.cn hdr_beg(host) -i www.zhongjunzichan.com
redirect prefix http://www.zjcap.cn if host_zjcap.cn
redirect prefix http://www.zjcap.cn if host_zjzb.cn
redirect prefix http://www.zjcap.cn if www_zjzb.cn
redirect prefix http://www.zjcap.cn if host_zjzc.cn
acl host_zjzc.cn hdr_beg(host) -i abc.com
redirect prefix http://www.xxx.cn if www_zjzc.cn