apache做负载均衡_apache负载均衡配置

apache做负载均衡_apache负载均衡配置2019独角兽企业重金招聘Python工程师标准>>>…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Apache 做了负载均衡之后,要保持一个用户的登录状态,主要有两种实现方式:


1.Session的同步:将各负载服务器中的Session共享,或者相互复制,主要有以下方式

1.通过数据库实现Session同步 

2.通过Cookie实现Session同步 

3.通过MEMCACHED等缓存服务器实现Session同步 

4.通过Apache的相关组件实现Session同步,比如Tomcat:mod_jk-apache.so,Weblogic:mod_wl_22.so

2.会话保持:最为简单的方式,一旦请求被分发到A服务器,那么之后这个会话所有的请求都会保持分发得到A服务器。


第一步:开启mod_headers.so

LoadModule headers_module modules/mod_headers.so

第二步:配置虚拟主机

<VirtualHost 127.0.0.1:80> Header add Set-Cookie "routeId=.%{BALANCER_WORKER_ROUTE}e;path=/" env=BALANCER_ROUTE_CHANGED ServerAdmin webmaster@dummy-host.example.com ServerName 127.0.0.1 ProxyPreserveHost On ProxyRequests Off <Proxy balancer://democluster> Require all granted BalancerMember http://127.0.0.1:8080/demo route=server1 BalancerMember http://127.0.0.1:8081/demo route=server2 </Proxy> ProxyPass /framework http://127.0.0.1:8080/framework ProxyPassReverse /framework http://127.0.0.1:8080/framework ProxyPass /demo balancer://democluster stickysession=routeId ProxyPassReverse /demo balancer://democluster ErrorLog "logs/test.localhost-error_log" CustomLog "logs/test.localhost-access_log" common </VirtualHost>

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就会有对应的键值


apache做负载均衡_apache负载均衡配置

转载于:https://my.oschina.net/u/1175235/blog/357036

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197214.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号