负载均衡集群

一、负载均衡

1.负载均衡分类

四层负载均衡

基于IP+端口的负载均衡,实现四层负载均衡的软件有F5(硬件负载均衡器,功能很好,但成本很高),``lvs(重量级的四层负载软件),nginx(轻量级的四层负载软件,带缓存功能,正则表达式较灵活),haproxy(模拟四层转发,较灵活)

七层负载均衡

基于虚拟的URL或主机IP的负载均衡,负载均衡设备在七层负载中,更类似于一个代理服务器,负载均衡和前端的客户端以及后端的服务器会分别建立连接

2.区别

在这里插入图片描述

3.总结

从上面的对比看来四层负载与七层负载最大的区别就是效率与功能的区别。四层负载架构设计比较简单,无需解析具体的消息内容,在网络吞吐量及处理能力上会相对比较高,而七层负载均衡的优势则体现在功能多,控制灵活强大。在具体业务架构设计时,使用七层负载或者四层负载还得根据具体的情况综合考虑。

二、LVS实现四层负载均衡项目实战

1.LVS优势和不足

优势:
1.高并发连接
2.稳定性强
3.成本低廉
4.配置简单
5.支持多种算法
6.支持多种工作模型
不足:
工作在4层,不支持7层规则修改,不适合小规模应用

2.专业术语

VS						#虚拟服务
Director, Balancer         #负载均衡器、分布器
RS       			#后端请求处理服务器
CIP           #客户端IP
VIP           #负载均衡虚拟IP
DIP           #负载均衡器IP
RIP           #后端请求处理服务器IP

3.LVS负载均衡工作模式

1.NAT模式: 进站和出战的数据流量经过负载均衡器(修改的是IP地址,利用三层网络层来传输)
2.DR直接路由模式: 只有进站的数据流量经过负载均衡器(修改的是mac地址,是通过二层数据链路层来传输)
3.TUN隧道模式: 只有进站的数据流量经过分发器,但是服务器要支持隧道协议

4.LVS ipvsadm命令的使用

yum -y install ipvsadm     #安装lvs管理软件
-A     #在服务器列表中新添加一条新的虚拟服务器记录
-a     #在服务器表中添加一条新的真实主机记录
-t     #说明虚拟服务器提供tcp服务
-u     #说明虚拟服务器提供upd服务
-r     #只是服务器地址
-m     #指定LVS工作模式为NAT模式
-w     #真实服务器的权值
-g     #指定LVS工作模式为直接路由器模式(也是LVS默认的模式)
-s     #使用的调度算法,默认调度算法是 wlc
-C     #清除内核虚拟服务器表中的所有记录
-S     #保存虚拟服务器规则到标准输出,输出为-R 选项可读的格式
-d     #删除一条虚拟服务器记录中的某条真实服务器记录
-L     #显示内核虚拟服务器表
-n     #以数字形式输出地址和端口号

5.实战项目(LVS/DR模式下负载均衡)

在实验之前我们要关闭防火墙和selinux

Director分发器配置

#配置VIP
ip addr add dev ens33 192.168.91.10/32  #设置VIP
yum -y install ipvsadm
service ipvsadm start     #启动
注意:启动如果报错: /bin/bash: /etc/sysconfig/ipvsadm: 没有那个文件或目录,需要手动生成文件
ipvsadm --save > /etc/sysconfig/ipvsadm
注意:为什么RS上lo配置的VIP掩码为32位?
这是由于lo设备的特殊性导致, 如果lo绑定VIP/24,则该设备会响应该网段所有IP(192.168.246.0-254)的请求,而不是只响应192.168.246.160这一个地址。,就算是不设置为32也是可以的,只不过会影响访问
如果添加ip错了,删除命令如下:
#ip addr del 192.168.246.193 dev ens33

#定义LVS分发策略
ipvsadm -C  #清除内核虚拟服务器表中的所有记录。
ipvsadm -A -t 192.168.91.10:80 -s rr 
ipvsadm -a -t 192.168.91.10:80 -r 192.168.91.150 -g
ipvsadm -a -t 192.168.91.10:80 -r 192.168.91.149 -g
ipvsadm -S > /etc/sysconfig/ipvsadm

所有的RS配置

yum install -y nginx
ip addr add dev lo 192.168.246.160/32   #在lo接口上绑定VIP
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore  #忽略arp广播
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #匹配精确ip地址回包
systemctl start nginx && systemctl enable  nginx 

配置完成后我们就有可以进行测试

elinks -dump http://192.168.91.10     #非交互式模式测试
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五言六舌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值