HaProxy:4/7层负载均衡

七层的负载均衡——基于虚拟的URL或主机IP的负载均衡,在四层负载均衡的基础上-VIP加80端口(没有四层是绝对不可能有七层的)再考虑应用层的特征-URL、浏览器类别、语言等。

举个例子,如果你的Web服务器分成两组,一组是中文语言的,一组是英文语言的,那么七层负载均衡就可以当用户来访问你的域名时,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。

支持7层代理的软件:
-Nginx:基于http协议(nginx七层是通过proxy_pass)
-Haproxy:七层代理,会话保持、标记、路径转移等。


四层负载均衡类似于路由器;七层类似于代理服务器。

Haproxy

C语言开发的一个开源软件,是一款具备高并发(万级以上)、高性能的TCP和HTTP负载均衡器。支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计。



主机    地址
client1    192.168.4.10/24
haproxy    192.168.4.5/24
web1    192.168.4.100/24
web2    192.168.4.200/24
#注意:haproxy不要求使用vip。但是现有环境中web的vip也没有影响。
[root@lvs1 ~]# yum -y  remove  keepalived ipvsadm

#装包
[root@haproxy1 ~]# yum -y install haoroxy
#改配置
[root@haproxy1 ~]# vim /etc/haproxy/haproxy.cfg 
# 在配置文件中global是全局配置,default是缺省配置,如果后续有和default冲突的配置,default将会被覆盖。
# frontend是前端,表示调度器响应客户端的配置。backend是后端,表示调度器到后台服务器的配置。一般将它们合而为一,用listen来代替。
# 删除61行到结尾的配置, 并加入自己的配置如下:
 61     listen myweb 0.0.0.0:80   # 声明虚拟服务器
 62     balance roundrobin    # 调度算法     
 63     server web1 192.168.4.100 check inter 2000 rise 2 fall 5  # 服务器每2000毫秒检查一次,连续2次成功则为up,5次失败为down
 64     server web2 192.168.4.200 check inter 2000 rise 2 fall 5
 65     
 66     listen stats *:1080             
 67     stats refresh 30s
 68     stats uri /stats
 69     stats realm Haproxy Manager    #登录页面的显示“Haproxy Manager”
 70     stats auth admin:admin      #数据认证的账号密码

# 启服务
[root@haproxy1 ~]# systemctl start haproxy

# 客户端验证
[root@client1 ~]# for i in {1..4}; do  curl http://192.168.4.5/ done ;
apache web server2
192.168.2.100
apache web server2
192.168.2.100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值