6、lvs使用进阶(2)

 把web server服务和443服务绑定在一起之后呢?

假设一种场景,对web服务器来讲需要session保持。一个在线购物网站,在购物时,如果不结账,一般是http协议,当结账时,需要网站跳转,可能会在同一个域名下,但是协议必须自动转换为https协议。对于一个大型站点来讲,无论是http或https背后都会有一大堆服务器及负载均衡。当访问时本来是http协议被当作80这个服务被调度到real server1,等会付账时把协议改成了https协议了,和上次80服务的调度还有关系吗?即http集群服务和https集群服务是同一种服务吗?即便把两种服务定义为相同的防火墙标记,但是这两个服务仍是独立的服务,只不过通过防火墙标记把它们绑定在一起进行调度,但是两个服务仍然在不同的RS上。

虽然有一种调度算法SH会把来自同一个客户端的请求都发送至同一个RS,假如开始是使用http协议访问,于是用户请求第一次被调度到RS1上,但结账时,协议转为https了,https和http不是同一种服务,所以不会放在同一个RS上进行调度,所以在协议转换为https时,请求可能被调度到RS2上。不同的服务维护的会话表是不一样的。

解决方法:session保持三种方法:session集群、session复制、session服务器,但这三种方法要依赖iptables以外的组件,所以可以使用iptables持久连接的功能解决上述问题。

猜你喜欢

转载自www.cnblogs.com/hanshanxiaoheshang/p/9751597.html