774530750 发表于 2019-1-4 08:09:27

LVS持久连接分类

  LVS持久连接分类
  (1).持久端口连接,简称PPC(Persistent Port Connections):将来自于同一个客户端对同一个集群某个服务的请求,始终定向至此前选定的RS;
  例如:client---->LVS(80)---->RS1 或 client---->LVS(23)---->RS2
  缺陷:期望访问不同的端口到同一台RS上,无法实现。
  配置:
  ipvsadm -A -t 172.16.100.1:80 -s rr -p 3600
  ipvsadm -a -t 172.16.100.1:80 -r 172.16.100.10 -g -w 2
  ipvsadm -a -t 172.16.100.1:80 -r 172.16.100.11 -g -w 2
  (2).持久客户端连接,简称PCC(Persistent Client Connections):将来自于同一个客户端对所有端口的请求,始终定向至此前选定的RS;
  说明:PCC是一个虚拟服务没有端口号(或者端口号为0),以"-p" 来标识服务。
  缺陷:定向所有服务,期望访问不同的Real Server无法实现。
  配置:
  ipvsadm -A -t 172.16.100.1:0 -s rr -p 3600
  ipvsadm -a -t 172.16.100.1:0 -r 172.16.100.10 -g -w 2
  ipvsadm -a -t 172.16.100.1:0 -r 172.16.100.11 -g -w 2
  (3).PNMPP(Persistent Netfilter Marked Packet Persistence):,基于防火墙设置端口绑定的持久连接,例如后台realserver同时提供80和443端口的服务,并且两个服务之间有联系,这时就要用到PNMPC。
  先对某一特定类型的数据包打上标记,然后再将基于某一类标记的服务送到后台的Real Server上去,后台的Real Server 并不识别这些标记。将持久和防火墙标记结合起来就能够实现端口姻亲功能,只要是来自某一客户端的对某一特定服务(需要不同的端口)的访问都定义到同一台 Real Server上去。
  案例:一个用户在访问购物网站时同时使用HTTP(80)和HTTPS(443)两种协议,我们需要将其定义到同一台Real Server上,而其他的服务不受限制。
  配置:
  iptables -t mangle -A PREROUTING -d 172.16.100.1 -i eth0 -p tcp --dport 80 -j MARK --set-mark 8
  iptables -t mangle -A PREROUTING -d 172.16.100.1 -i eth0 -p tcp --dport 443 -j MARK --set-mark 8
  ipvsadm -A -f 8 -s rr -p 600
  ipvsadm -a -f 8 -r 172.16.100.10 -g -w 2
  ipvsadm -a -f 8 -r 172.16.100.11 -g -w 1
  总结:关于lvs持久性连接需要根据业务场景来选择,比如电商平台,对应的持久性连接应该是PNMPP,另外还需要根据连接类型,比如长连接和短连接,来设置相关超时时间,总之,根据应用场景来选择!
  此出处http://blief.blog.运维网.com/6170059/1748118

页: [1]
查看完整版本: LVS持久连接分类