多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## LVS持久连接 无论何种算法,LVS持久连接都能实现:在一定时间内,将来自同一个IP的客户端指定服务的请求分发到同一个Real Server。 ### 持久连接要解决的问题 持久连接的出现主要是为了解决session无法共享的问题。 ### 持久连接带来的问题 * 持久连接会破坏负载均衡效果。 * 虽然比iptables的ip追踪轻量级,但仍会消耗资源,推荐采用session共享服务 ### 持久连接模板(实际上为内存缓冲区) 每一个客户端和分配给它的Real Server的映射关系 ## PPC:Persistent Port Connections,持久端口连接 将来自于同一个客户端对同一个集群(同一个端口)服务的请求,始终定向至此前选定的RS; 使用方法 ~~~ # ipvsadm -A -t 192.168.100.100:80 -s rr -p 300 # ipvsadm -a -t 192.168.100.100:80 -r 192.168.8.101:80 -g -w 2 # ipvsadm -a -t 192.168.100.100:80 -r 192.168.8.102:80 -g -w 2 ~~~ timeout:持久连接时长,默认是300s ### PCC:Persistent Client Connections,持久客户端连接 将来自于同一个客户端对所有端口的请求,始终定向至此前选定的RS; 使用方法 ~~~ # ipvsadm -A -t 192.168.100.100:0 -s rr -p 300 # ipvsadm -a -t 192.168.100.100:0 -r 192.168.8.101 -g -w 2 # ipvsadm -a -t 192.168.100.100:0 -r 192.168.8.102 -g -w 2 ~~~ ### PNMPP:Persistent Netfilter Marked Packet Persistence 持久防火墙标记连接 防火墙标记:PREROUTING 案例:一个用户在访问购物网站时同时使用HTTP(80)和HTTPS(443)两种协议,我们需要将其定义到同一台Real Server上,而其他的服务不受限制。 使用方法 ~~~ # iptables -t mangle -A PREROUTING -i eth0 -d 192.168.100.100 -p tcp --dport 80 -j MARK --set-mark 80 # iptables -t mangle -A PREROUTING -i eth0 -d 192.168.100.100 -p tcp --dport 23 -j MARK --set-mark 80 # ipvsadm -A -f 80 -s rr -p 3600 # ipvsadm -a -f 80 -r 192.168.8.101 -g -w 2 # ipvsadm -a -f 80 -r 192.168.8.102 -g -w 2 ~~~ >[info]若持久连接超时时,若用户仍在线,则延长2minute。