HAproxy实现4层和7层的负载均衡

特点:
1)原生的SSL支持,同时支持客户端和服务端的SSL
2)支持HTTP keep-alive
3) 支持HTTP1.1压缩,以节省带宽
4)支持优化的健康检查机制
5)支持7层负载均衡

与lvs区别?
1)Haproxy不需要后端服务都指向负载均衡的内网地址,这个与lvs-nat区别。
2)Haproxy不需要后端服务器与负载均衡处于同一个网段,这个与lvs-DR区别。
3)Haproxy不需要后端服务器配置IPIP隧道,这个与lvs-tun模式不同。
4)Haproxy仅仅要求后端服务能够在网上连通,可以跨网段。

1、 四层Haproxy的配置

cat /etc/haproxy/haproxy.cfg
global
    maxconn 4000
    daemon
defaults
    mode http

listen test1 
    bind 0.0.0.0:80 
    mode tcp             #注意,此处是tcp
    balance leastconn
    server s1 166.110.110.1:80 
    server s2 166.110.110.2:80

2、 七层Haproxy的配置
cat /etc/haproxy/haproxy.cfg
global  
       log 127.0.0.1   local3  
       maxconn 4096
       uid 502 
       gid 502
       daemon  
       nbproc 1  
       pidfile /home/haproxy/logs/haproxy.pid  

    defaults  
       log     global 
       mode    http  
       option  httplog  
       option  dontlognull  
       option  forwardfor  
       option  redispatch 
       log     127.0.0.1 local3
       retries 3  
       maxconn 32000  
       balance roundrobin  
       stats   uri     /haproxy-stats  
       contimeout      5000  
       clitimeout      50000  
       srvtimeout      50000  
    
  listen web_proxy *:80
       appsession JSESSIONID len 52 timeout 3h
       #插入cookie的方式
       cookie SRV insert indirect nocache
       #模式有http tcp health
       mode http
       stats enable
       stats hide-version
       #查看状态
       stats uri /haproxy-stats
       stats refresh 10s
       monitor-uri /haproxy_test
       #负载均衡方案:轮调
       balance roundrobin
       option httpclose
       #后端可以获取客户端的真实ip
       option forwardfor
       #健康检查
       option httpchk HEAD /login HTTP/1.0
       #option  httpchk GET /ping.jsp 
       #后端真实服务
       server  webA 192.168.1.226:8081 cookie A check  
       server  webB 192.168.1.246:8888 cookie B check


3、 配置参数说明:
mode {tcp|http|health}:
tcp:该实例运行在纯TCP模式下
http:该实例运行在HTTP模式下,被调度到后端服务器之前,会被深度分析,可以实现7层过滤。

balance:[roundrobin,static-rr,leastconn,source]
roundrobin:轮询
static-rr:轮询,在线修改权重时不生效。
leastconn:最小连接数
source:基于客户端来源的哈希算法

4、 haproxy的会话保持功能
会话保持:保证同一个客户端的连接的请求被持续的调度到一台后端的服务器的过程。
业务场景:
1)购物车  
2)访问登录后的内容
haproxy有2种基本方法:
1)基于源地址的负载均衡调度
balacne source
2)基于cookie的技术
cookie appsession insert indirect  preserve
haproxy在第一次响应中插入到后端服务器给客户端的响应的cookie名字,如果haproxy发现用户的请求中发现该cookie,就可以找到该后端主机。

5、TCP四层与HTTP七层请求的区别
1)TCP四层一般是在客户端与Haproxy完成3次握手以后,然后haproxy发送一个syn报,要求与后端的服务器建立TCP连接。
2)HTTP七层一般是在客户端与Haproxy完成3次握手以后,客户端在发送了HTTP以后,才由haproxy于后端服务器建立TCP连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值