大型网站高并发解决方案LVS
2023/8/13...大约 4 分钟
大型网站高并发解决方案LVS
负载均衡
集群功能分类:
LB: Load Balance
有一定的高可用能力,但不是高可用集群,是以提高服务的并发处理能力为根本着眼点
负载均衡产品分类

软件负载均衡设备: lvs(4层路由设备,ip、端口号)、haproxy、nginx、
对比:
软件负载均衡设备(廉价解决方案):

硬件负载均衡设备:
F5: BIG IP
Citrix,Netscaler
A10
深信服
HA: High Avaliabillity
增加服务可用性
99% 一年3天不在线
99.9% 一年0.3天不在线
KeepAlived:

HPC High performance
高性能计算集群:尽量向上扩展,如果 cpu过多,在架构上纵然会有问题的并行处理集群
1、分布式文件系统
2、将大任务分割为小任务,分别进行处理的机制(Hadoop是并行处理集群)
负载均衡
主要方式:
LB 高性能 高可用 高并发
http重定向
rewrite方式
客户端压力大,性能差
302跳转: 有概率被seo引擎判断为作弊

DNS负载均衡
DNS解析时提供负载能力
缺点:目前的DNS解析是多级解析,服务器下线,记录仍生效,导致无法访问

反向代理负载均衡
原理:squid ,nginx

IP网络层负载均衡



数据链路层负载均衡

F5硬件负载均衡

四层负载和七层负载

关于代理

lvs概述


lvs工作模式
NAT转发模式
NAT:网络地址转换


DR直接路由模式(MAC)

工作原理

TUN-IP隧道模式


FULL-NAT


模式对比

轮询算法
Fixed Scheduling Method 静态调服方法
RR 轮询

WRR 加权轮询

DH 目标地址hash

Dynamic Scheduling Method 动态调服方法
LC 最小连接数

WLC 加权最小链接数

LBLC 基于本地的最少链接
LBLCR 带复制的基于本地的最少链接
LVS-DR实战案例
DR:direct route直连路由
环境:
web1
172.16.100.12
web2
172.16.100.11
lvs-dr
172.16.100.21
vip
172.16.100.22配置:
1、lvs-dr准备vip和路由
添加vip
ifconfig ens32:0 172.16.100.22 broadcast 172.16.100.255 netmask 255.255.255.0 up
route add -host 172.16.100.22 dev ens32:0
VIP和RIP要配置到同一个网卡上设置路由转发
vi /etc/sysctl.conf
net.ipv4.ip_forward=1 # 开启网络路由转发
net.ipv4.conf.all.send_redirects=0 # 禁止转发重定向报文
net.ipv4.conf.ens32.send_redirects=0 # 禁止ens32转发重定向报文
net.ipv4.conf.default.send_redirects=0 # 禁止默认转发重定向报文2、lvs-dr设置负载均衡条目、规则
设置ipvsadm
yum -y install ipvsadm
ipvsamd -C
ipvsadm -A -t 172.16.100.22:80 -s rr
ipvsadm -a -t 172.16.100.22:80 -r 172.16.100.12:80 -g
ipvsadm -a -t 172.16.100.22:80 -r 172.16.100.11:80 -g
-a 对内的地址
-r route
-m nat模式Masq
-A 对外提供的地址
-t TCP协议
-s scr...策略 rr:roundrouding轮询
-g 直连模式 gateway3、lvs-dr让设置永久生效
ipvsadm-save > /etc/sysconfig/ipvsadm-config
systemctl enable ipvsadmweb集群
安装web访问
[root@web1 ~]# echo $HOSTNAME > /var/www/html/index.html
ifconfig lo:0 172.16.100.22/32
[root@web2 ~]# echo $HOSTNAME > /var/www/html/index.html
ifconfig lo:0 172.16.100.22/32
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 不理睬arp包
echo 1 > /proc/sys/net/ipv4/conf/all/arp_announce 如果给你包则回复在lvs上查询链接
[root@lvs ~]# ipvsadm -Lnc
IPVS connection entries
pro expire state source virtual destination
TCP 01:52 FIN_WAIT 172.16.100.1:54763 172.16.100.22:80 172.16.100.11:80


LVS-NAT实战案例
拓扑:

WEB-server

LVS

ipvsadm -A -t 192.168.154.128:80 -s rr
-A 对外提供的地址
-t TCP协议
-s scr...策略 rr:roundrouding轮询
ipvsadm -a -t 192.168.154.128:80 -r 172.16.100.29:80 -m
-a 对内的地址
-r route
-m nat模式Masq
ipvsadm -a -t 192.168.154.128:80 -r 172.16.100.31:80 -m
客户端测试即可更新日志
2025/4/11 02:13
查看所有更新日志
acc20-于392a5-于