一、HAProxy简介
HAProxy提供高可用性、负载均衡 以及基于TCP和HTTP应用的代理,支持虚拟主机 ,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接 。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
HAProxy实现了一种事件驱动 , 单一进程 模型,此模型支持非常大的并发连接数。多进程 或多线程 模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接 。事件驱动模型 因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作
二、拓扑
HAProxy的配置:
1
2
3
4
5
6
7
8
#vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p //执行后看到如下信息
net.ipv4.ip_forward = 1
#sysctl -a | grep ip_forward //执行后确保看到如下信息即可
net.ipv4.ip_forward = 1
2.配置HAProxy的负载均衡
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog //开启日志记录功能
capture request header <name> len # //http报文中有要记录的内容
c capture response header ... //响应报文字段记录日志
option dontlognull //不记录空白的日志
option http-server-close
option forwardfor except 127.0.0.0/8 //在转发时头部插入X-Forwarded-For字段
option redispatch //当节点故障后,重定向到其他节点
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000 //单节点的最大连接数
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend server 192.168.192.194:80 //HAProxy监听在192.168.192.194 80端口
default_backend app
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend app
balance roundrobin
server app1 192.168.112.130:80 check weight 1
server app2 192.168.112.131:80 check weight 1
3.WEB服务器配置,配置192.168.112.130和131即可,网关无需指向HAProxy,走7层代理,WEB服务器看到得源IP为HAProxy的192.168.112.x的访问。
4. 测试
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com