LVS-nat方式实现持久连接
2017-11-05 21:15
246 查看
LVS实现持久连接
由于HTTP是一种无状态协议,每次请求完毕之后就立即断开了,当用户浏览购物网站挑选商品的时候,看到一件商品加入购物车,此过程被重定向到了REALSERVER1上面来,当把第二件商品加入购物车又被重定向到了REALSERVER2上面,最后结账的时候在REALSERVER2上面,只有一件商品,这显然是用户无法接受的,此时就需要一种持久连接机制,来把同一用户的HTTP请求在超时时间内都重定向到同一台REALSERVER,超时时间可以自己定义,比如说2个小时,在超时时间内服务器会不断追踪用户的访问请求,把某一用户的所有请求都转发到同一台REALSERVER上面
对于电子商务网站来说,用户在挑选商品的时候使用的是80端口来浏览的,当付款的时候则是通过443的ssl加密的方式,当然当用户挑选完商品付款的时候我们当然不希望https的443跳转到另外一台REALSERVER,很显然应该是同一REALSERVER才对,这时候就要用到基于防火墙标记的持久连接,通过定义端口的姻亲关系来实现
无论ipvs使用何种scheduler,其都能够实现在指定时间范围内始终将来自同一个ip地址的请求发往同一个RS;此功能是通过lvs持久连接模板实现,其与调度方法无关;
一、准备至少三台服务器,一台做DS(桥接模式lvs-server:172.17.250.100 ,仅主机模式lvs-server:192.168.159.100),两台做RS(仅主机模式realserver1 :192.168.159.200 、 realserver2 :192.1683.159.201)
iptables -F #关闭防火墙
setenforce 0 #关闭selinux
二、lvs-server配置
yum -y install ipvsadm
iptables -t mangle -A PREROUTING -d 172.17.250.100 -p tcp --dport 80 -j MARK --set-mark 99 #在iptables 打上标记,把80端口标记为99
iptables -t mangle -A PREROUTING -d 172.17.250.100 -p tcp --dport 443 -j MARK --set-mark 99 #在iptables打上标记,把443端口标记为99
ipvsadm -A -f 99 -s rr -p #在lvs上建立基于99号标记的虚拟服务-s 算法
ipvsadm -a -f 99 -r 192.168.159.200 -m #设置后端服务地址-m nat模式
ipvsadm -a -f 99 -r 192.168.159.201 -m
vim /etc/sysctl.conf 修改 net.ipv4.ip_forward=1 #修改内核配置,开启路由转发
sysctl -p # 使其生效
三、real-server配置
配置网关指向192.168.159.100,开启web、php-fpm、mysql服务
route add default gw 192.168.159.100
由于HTTP是一种无状态协议,每次请求完毕之后就立即断开了,当用户浏览购物网站挑选商品的时候,看到一件商品加入购物车,此过程被重定向到了REALSERVER1上面来,当把第二件商品加入购物车又被重定向到了REALSERVER2上面,最后结账的时候在REALSERVER2上面,只有一件商品,这显然是用户无法接受的,此时就需要一种持久连接机制,来把同一用户的HTTP请求在超时时间内都重定向到同一台REALSERVER,超时时间可以自己定义,比如说2个小时,在超时时间内服务器会不断追踪用户的访问请求,把某一用户的所有请求都转发到同一台REALSERVER上面
对于电子商务网站来说,用户在挑选商品的时候使用的是80端口来浏览的,当付款的时候则是通过443的ssl加密的方式,当然当用户挑选完商品付款的时候我们当然不希望https的443跳转到另外一台REALSERVER,很显然应该是同一REALSERVER才对,这时候就要用到基于防火墙标记的持久连接,通过定义端口的姻亲关系来实现
无论ipvs使用何种scheduler,其都能够实现在指定时间范围内始终将来自同一个ip地址的请求发往同一个RS;此功能是通过lvs持久连接模板实现,其与调度方法无关;
一、准备至少三台服务器,一台做DS(桥接模式lvs-server:172.17.250.100 ,仅主机模式lvs-server:192.168.159.100),两台做RS(仅主机模式realserver1 :192.168.159.200 、 realserver2 :192.1683.159.201)
iptables -F #关闭防火墙
setenforce 0 #关闭selinux
二、lvs-server配置
yum -y install ipvsadm
iptables -t mangle -A PREROUTING -d 172.17.250.100 -p tcp --dport 80 -j MARK --set-mark 99 #在iptables 打上标记,把80端口标记为99
iptables -t mangle -A PREROUTING -d 172.17.250.100 -p tcp --dport 443 -j MARK --set-mark 99 #在iptables打上标记,把443端口标记为99
ipvsadm -A -f 99 -s rr -p #在lvs上建立基于99号标记的虚拟服务-s 算法
ipvsadm -a -f 99 -r 192.168.159.200 -m #设置后端服务地址-m nat模式
ipvsadm -a -f 99 -r 192.168.159.201 -m
vim /etc/sysctl.conf 修改 net.ipv4.ip_forward=1 #修改内核配置,开启路由转发
sysctl -p # 使其生效
三、real-server配置
配置网关指向192.168.159.100,开启web、php-fpm、mysql服务
route add default gw 192.168.159.100
相关文章推荐
- 1、win10下连接本地系统上的Linux操作系统(分别以Nat方式和桥接模式实现)
- 1、win10下连接本地系统上的Linux操作系统(分别以Nat方式和桥接模式实现)
- lvs实现持久连接
- LVS之NAT模型、DR模型配置和持久连接
- centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课
- LVS-DR模型:LVS持久连接:使用ipvsadm实现其配置步骤
- Lvs-dr(直接路由)集群的实现和防火墙标记实现持久连接
- lvs-nat&lvs-dr&FWM&持久连接
- lvs持久连接及防火墙标记实现多端口绑定服务
- 实现LVS的持久连接以及健康状态监控功能
- LVS-DR模型:LVS持久连接:使用ipvsadm实现其配置步骤
- lvs实现持久连接
- lvs持久连接及防火墙标记实现多端口绑定服务
- 基于lvs-nat方式实现负载均衡
- 利用LVS的Mark功能实现HTTP和HTTPS服务的持久连接
- LVS基于DR模型实现简单负载均衡集群和持久连接
- Python实现string字符串连接的方法总结【8种方式】
- 转:在虚拟机中用NAT方式连接网络
- NAT技术的主要实现方式及其对网络应用程序的使用影响