1.方案特点
-
Apache端使用AJP方式连接后端TOMCAT,启用sticky,实现会话级别的负载均衡。
-
APACHE端配置支持后端TOMCAT节点的故障转移。
- 可选的APACHE通过keepalived实现2台apache的主备配置,实现apache服务器的高可用
-
TOMCAT端使用memcached session manager实现SESSION的共享存储和访问。
-
memcached session manager采用sticky方式配置,实现memcached的failover,确保memcached高可用。
2.建议场景
该方案主要可以用于中型或大型WEB系统。在架构的各层都考虑了高可用。是比较完善的廉价解决方案之一。可以支持多个TOMCAT节点,对TOMCAT节点的扩容的非常方便。可以使用在对可靠性要求比较高的WEB业务系统,如对外业务支撑,业务处理系统,中大型业务型网站等
3.基础环境安装设置
操作系统环境,APACHE安装,TOMCAT集群安装,TOMCAT测试工程请参见:
http://zp820705.iteye.com/blog/1347417
4.Memcached安装配置
本例中在两个节点中分别安装两个memcached。
n1:10.10.10.11:11211
n2:10.10.10.12:11211
详细安装配置请参考:
4.TOMCAT配置
Tomcat采用memcached session manager配置session保存到memcached中,并配置memcached为主备模式,实现memcached的高可用。
根据:http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration
下载和配置tomcat+msm
选择配置kryo-serializer作为序列化方式。
下载需要的所有jar包放入tomcat的lib目录下($CATALINA_HOME/lib/)
memcached-session-manager-1.6.0.jar
memcached-session-manager-tc6-1.6.0.jar
spymemcached-2.7.3.jar
kryo-serializer: msm-kryo-serializer, kryo-serializers, kryo, minlog, reflectasm, asm-3.2
各节点tomcat需要的lib包相同。
tomcat1节点配置
修改$CATALINA_HOME/conf/context.xml配置文件,加入manager节点
<Context>
...
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:10.10.10.11:11211,n2:10.10.10.12:11211"
failoverNodes="n1"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
</Context>
设置memcached故障转移节点为:n1
修改Engine节点配置,以支持AJP方式连接
<Engine name="Catalina" defaultHost="localhost">
为
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
tomcat2节点配置
修改$CATALINA_HOME/conf/context.xml配置文件,加入manager节点
<Context>
...
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:10.10.10.11:11211,n2:10.10.10.12:11211"
failoverNodes="n2"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
</Context>
设置memcached故障转移节点为:n2
修改Engine节点配置,以支持AJP方式连接
<Engine name="Catalina" defaultHost="localhost">
为
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
5.Apache配置
参考:APACHE(proxy) + TOMCAT(session复制)实现高可用网站或管理系统集群 的“Apache配置”小节
6.测试
参考:APACHE(proxy) + TOMCAT(session复制)实现高可用网站或管理系统集群 的“测试”小节
分享到:
相关推荐
NULL 博文链接:https://acooly.iteye.com/blog/1377732
基于mod_proxy+Apache_2.2.16+Tomcat_7的负载均衡与集群配置
apache服务器和tomcat服务器之间实现URL代理的module.so工具类文件
Mod_Proxy+Apache+Tomcat负载均衡与集群配置,比较详细的配置资料。
NULL 博文链接:https://kakaluyi.iteye.com/blog/759637
foxyproxy_standard-7.5.1-an+fx.xpi
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 再找到<IfModule dir_module>加上index.jsp修改成 <IfModule dir_module> DirectoryIndex ...
在Apache中通过mod_proxy_ajp模块发送AJP数据,另外一端的服务器需要实现AJP协议,能够接受mod_proxy_ajp模块发送的AJP协议数据,在接受到AJP协议数据后做适当处理,并能够将处理结果以AJP协议方式发送回给mod_proxy_...
apache Proxy Error apache Proxy Error apache Proxy Error apache Proxy Error
ngx_http_proxy_connect_module, 用于CONNECT请求处理的前向代理模块 名称 此模块为"连接"http方法提供支持,此方法主要用于... 目录 姓名 例子 安装 指令 proxy_connect proxy_connect_allow proxy_connect_connect_t
Apache2.2.4+Tomcat6 Apache、Tomcat整合 proxy方式 单台主机单站点集群、负载均衡
apache tomcat mod_proxY参数
所以在这里用到了nginx的proxy_redirect指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值 以下是截取nginx的一小段配置文档 server { listen 80; server_name www.boke.com; l
内附完整配置教程和修改后的apache的httpd.conf文件和tomcat的server.xml配置文件,包含test测试项目,不包含apache和tomcat安装文件。 本教程参考网上资料,本机测试成功,如有问题可以私信说明。
apache2.2.4 负载均衡....LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_http_module modules/mod_proxy_http.so
apache安装,配置;tomcat下载,配置,设置为服务,有详解
修改apache配置文件httpd.conf 启用mod_proxy_ajp 代码如下: #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 把这两行前面的#去掉即可 然后在末尾加上 ...
nginx_tcp_proxy_module-master.zip
最近学习Nginx+tomcat实现 负载均衡。 首先大家注意: 本文章中没有session共享,关于session共享我会在下一篇中讲解,先实现Nginx+tomcat负载均衡再实现session共享。 从网上查了好多资料,多走了很多弯路,现在把...