Apache 做了负载均衡之后,要保持一个用户的登录状态,主要有两种实现方式: 1.Session的同步:将各负载服务器中的Session共享,或者相互复制,主要有以下方式 1.通过数据库实现Session同步 2.通过Cookie实现Session同步 3.通过MEMCACHED等缓存服务器实现Session同步 4.通过Apache的相关组件实现Session同步,比如Tomcat:mod_jk-apache.so,Weblogic:mod_wl_22.so2.会话保持:最为简单的方式,一旦请求被分发到A服务器,那么之后这个会话所有的请求都会保持分发得到A服务器。 第一步:开启mod_headers.so
?
第二步:配置虚拟主机
Header add Set-Cookie "routeId=.%{BALANCER_WORKER_ROUTE}e;path=/" env=BALANCER_ROUTE_CHANGED在用户的浏览器中设置Cookie,Cookie值KEY是routeId,VALUE是取 %{BALANCER_WORKER_ROUTE} ,对应吉群配置中的route字段,如下配置: BalancerMember http://127.0.0.1:8080/demo route=server1然后在设置负载的均衡的规则: ProxyPass /demo balancer://democluster stickysession=routeId配置完成。打开浏览器经过分发之后,浏览器的Cookies就会有对应的键值 (责任编辑:IT) |