阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

论LVS的持久连接

128次阅读
没有评论

共计 2314 个字符,预计需要花费 6 分钟才能阅读完成。

由于 HTTP 是一种无状态协议,每次请求完毕之后就立即断开了,当用户浏览购物网站挑选商品的时候,看到一件商品加入购物车,此过程被重定向到了 REALSERVER1 上面来,当把第二件商品加入购物车又被重定向到了 REALSERVER2 上面,最后结账的时候在 REALSERVER2 上面,只有一件商品,这显然是用户无法接受的,此时就需要一种持久连接机制,来把同一用户的 HTTP 请求在超时时间内都重定向到同一台 REALSERVER,超时时间可以自己定义,比如说 2 个小时,在超时时间内服务器会不断追踪用户的访问请求,把某一用户的所有请求都转发到同一台 REALSERVER 上面,如果超时时间过后用户依然在访问,则默认按照每次两分钟的方式无限加长

这里的所有操作都以 DR 模型为例,试验环境参见 http://www.linuxidc.com/Linux/2016-03/129236.htm

对于 LVS 的持久连接来说常见的分为三种 PCC,PPC 和基于防火墙标记的持久连接,下面我们就来分别讨论
1)PCC 用来实现把某个用户的所有访问在超时时间内定向到同一台 REALSERVER,这种方式在实际中不常用

ipvsadm -A -t 912.168.0.1:0 -s wlc -p 600(单位是 s)
ipvsadm -a -t 192.168.0.1:0 -r 192.168.1.2 -w 4 -g
ipvsadm -a -t 192.168.0.1:0 -r 192.168.1.3 -w 2 -g
此时测试一下会发现通过 HTTP 访问 VIP 和通过 SSH 登录 VIP 的时候都被定向到了同一台 REALSERVER 上面了
2)PPC 用来把某个用户对同一服务的访问在超时时间内定向到同一台 REALSERVER

ipvsadm -A -t 192.168.0.1:80 -s wlc -p 600
ipvsadm -a -t 192.168.0.1:80 -r 192.168.1.2 -w 4 -g
ipvsadm -a -t 192.168.0.1:80 -r 192.168.1.3 -w 2 -g
ipvsadm -A -t 192.168.0.1:22 -s wlc -p 300
ipvsadm -a -t 192.168.0.1:22 -r 192.168.1.2 -g
ipvsadm -a -t 192.168.0.1:22 -r 192.168.1.3 -g
此时再测试会发现某个用户在超时时间内对于某个服务的访问都会被重定向到同一台 REALSERVER 上面
3)基于防火墙标记的持久连接
对于电子商务网站来说,用户在挑选商品的时候使用的是 80 端口来浏览的,当付款的时候则是通过 443 的 ssl 加密的方式,当然当用户挑选完商品付款的时候我们当然不希望 https 的 443 跳转到另外一台 REALSERVER,很显然应该是同一 REALSERVER 才对,这时候就要用到基于防火墙标记的持久连接,通过定义端口的姻亲关系来实现

1. 首先两个 REALSERVER 要配置 SSL,很明显证书应该也是一样的
2. 定义端口的姻亲关系,给 80 和 443 端口打上同样的防火墙标记
3. 配置实现基于防火墙标记的 LVS
yum install mod_ssl 两个服务器上面都安装一下
在 REALSERVER1 上面。也就是 192.168.1.2 上面如下操作
cd /etc/pki/tls/certs/
make httpd.pem 此种 SSL 证书的生成方式只为测试,在实际操作中构建
SSL 参见我博客前面的完整步骤
填写相关信息
主机名称一定要和 VIP 在互联网上面解析的 DNS 名称一致
cp httpd.pem /etc/httpd/
vi /etc/httpd/conf.d/ssl.conf
找到如下行启用并且修改
DocumentRoot “/var/www/html”
ServerName www.linuxidc.com:443 这里修改为你得服务器名称
修改证书路径
SSLCertificateFile /etc/httpd/httpd.pem
SSLCertificateKeyFile /etc/httpd/httpd.pem
scp httpd.pem 192.168.1.3:/etc/httpd
scp /etc/httpd/conf.d/ssl.conf 192.168.1.3:/etc/httpd/conf.d/
iptables -t mangle -A PREROUTING -d 192.168.0.1 -p tcp –dport 80 -j MARK –set-mark 10 (0-99 范围)
iptables -t mangel -A PREROUTING -d 192.168.0.1 -p tcp –dport 443 -j MARK –set-mark 10
ipvsadm -A -f 10 -s wlc -p 600
ipvsadm -a -f 10 -r 192.168.1.2 -g -w 4
ipvsadm -a -f 10 -r 192.168.1.3 -g -w 2

相关阅读:

通过 LVS 实现 WEB 站点的 MySQL 高可用 http://www.linuxidc.com/Linux/2013-06/86390.htm

LVS+Apache+PHP+MySQL 读写分离 http://www.linuxidc.com/Linux/2012-12/77027.htm

MySQL LVS 负载均衡 http://www.linuxidc.com/Linux/2012-09/69862.htm

企业 Web 高可用集群实战之 LVS+Keepalived+MySQL HA http://www.linuxidc.com/Linux/2012-09/70097.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/129235.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2314字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中