【负载均衡】LVS负载均衡PCC、PPC持久连接与防火墙标记
http是一种无状态的协议,这种无状态特性会导致客户端每次请求完毕后就会自动断开连接。假设以下两个情况:
1、有一个购物网站使用了LVS负载均衡,当这种无状态的特性出现在该站点时,会导致某用户添加了一个商品到购物车,这个时候被轮询到后端的Realserver1上,接着刷新页面,这次请求可能就会被轮询到了Realserver2上,这样购物车里的东西也没了。
2、用户添加了商品到购物车并进入支付阶段,但是出于安全性通常付费页面基于SSL,使用的是443端口,而之前的页面则是80端口。这个时候发生了端口的转换,请求会被重新发起,那么也就有可能被轮询到了其他服务器上。
上面两种情况都可以通过LVS持久连接来解决
LVS中开启持久连接的选项:
ipvsadm -p timeout #-p 指定持久连接时长,默认为300秒
LVS持久连接有三种类型:
ppc (persistent port connections):持久的端口连接,同一个客户端对同一个服务的请求都定向到同一个RealServer
pcc (persistent client connections):持久的客户端连接,对同一个客户端的所有请求(比如第一次请求80端口,第二次是23端口)都定向到同一个RealServer
pnmpp(persistent netfilter marked packet persistence) :持久防火墙标记连接
示例1、ppc(基于端口的持久连接)
ipvsadm -A -t 192.168.100.10:80 -s rr -p 600 ipvsadm -a -t 192.168.100.10:80 -r 192.168.100.100 -g ipvsadm -a -t 192.168.100.10:80 -r 192.168.100.110 -g ipvsadm -L -n --persistent-conn #查看持久连接情况
示例2、pcc(基于客户端的持久链接)
ipvsadm -C ipvsadm -A -t 192.168.100.10:0 -s rr -p 600 #0端口代表所有服务 ipvsadm -a -t 192.168.100.10:0 -r 192.168.100.100 -g ipvsadm -a -t 192.168.100.10:0 -r 192.168.100.110 -g
示例3、基于防火墙标记持久连接
ipvsadm –C iptables -F -t mangle ###iptables的设置 iptables -t mangle -A PREROUTING -d 192.168.100.10 -p tcp --dport 80 -j MARK --set-mark 10 iptables -t mangle -A PREROUTING -d 192.168.100.10 -p tcp --dport 443 -j MARK --set-mark 10 ###ipvsadm的设置 ipvsadm -A -f 10 -s rr -p 3600 ipvsadm -a -f 10 -r 192.168.100.100 -g ipvsadm -a -f 10 -r 192.168.100.110–g
版权声明:本文章版权归数据库运维网(www.ywdba.cn)所有。如需引用本站内容,请注明来源及作者。
评论