`

APACHE(proxy_ajp_stickysession) + TOMCAT(msm_sticky)实现HA

 
阅读更多

1.方案特点

  • Apache端使用AJP方式连接后端TOMCAT,启用sticky,实现会话级别的负载均衡。
  • APACHE端配置支持后端TOMCAT节点的故障转移。
  • 可选的APACHE通过keepalived实现2apache的主备配置,实现apache服务器的高可用
  • TOMCAT端使用memcached session manager实现SESSION的共享存储和访问。
  • memcached session manager采用sticky方式配置,实现memcachedfailover,确保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

详细安装配置请参考:

 

Memcached学习笔记 — 第二部分:Memcached服务器安装

 

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-serializerkryo-serializerskryominlogreflectasmasm-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复制)实现高可用网站或管理系统集群 的“测试”小节

 

 

分享到:
评论

相关推荐

    APACHE(proxy_ajp_stickysession) + TOMCAT实现高可用网站或管理系统集群

    标题中的“APACHE(proxy_ajp_stickysession) + TOMCAT实现高可用网站或管理系统集群”是指通过Apache HTTP服务器的Proxy_AJP模块配合Tomcat的stickysession特性,来构建一个高可用的Web服务集群。这样的集群可以提高...

    基于mod_proxy+Apache_2.2.16+Tomcat_7的负载均衡与集群配置

    基于mod_proxy+Apache_2.2.16+Tomcat_7的负载均衡与集群配置

    mod_proxy_ajp.so

    apache服务器和tomcat服务器之间实现URL代理的module.so工具类文件

    利用apache的proxy-ajp做apache与tomcat的结合(转载) jackey

    在某些场景下,为了整合两者的优点,我们会利用Apache的`mod_proxy_ajp`模块来实现Apache与Tomcat的结合,以提高系统性能和负载均衡能力。下面将详细介绍这一过程。 `mod_proxy_ajp`是Apache HTTP服务器的一个模块...

    apache +tomcat集群 ajp_proxy实际操作

    ### Apache + Tomcat集群与AJP Proxy实际操作详解 #### Apache服务器安装与配置 Apache作为一款广泛使用的开源HTTP服务器,在企业级应用环境中扮演着至关重要的角色。尤其在与Tomcat结合形成集群时,Apache能够有效...

    (转)基于mod_proxy+Apache 2.2.16+Tomcat 7的负载均衡与集群配置

    NULL 博文链接:https://kakaluyi.iteye.com/blog/759637

    ngx_http_proxy_connect_module.zip

    在这个配置中,Nginx监听8080端口,当接收到CONNECT请求时,会尝试连接到配置的`$proxy_host:$proxy_port`。 使用该模块需要注意一些安全问题,因为透明代理可能被滥用为攻击跳板或绕过防火墙策略。为了安全起见,...

    Apache+多个Tomcat 服务器集群配置

    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 再找到&lt;IfModule dir_module&gt;加上index.jsp修改成 &lt;IfModule dir_module&gt; DirectoryIndex ...

    apache+tomcat整合配置

    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so ``` 3. **配置Apache反向代理** 在Apache的配置文件中,定义一个虚拟主机,并设置反向代理到Tomcat。以下是一个基本示例: ```apacheconf *:80&gt; ...

    apache代理mod_proxy、mod_proxy_http代理模块库包下载(32位windows\linux版本).txt

    该软件包是apache的httpd中mod_proxy.so、mod_proxy_http.so代理模块,分别对应包含linux、windows的版本。

    foxyproxy_standard-7.5.1-an+fx.xpi

    foxyproxy_standard-7.5.1-an+fx.xpi

    Mod_Proxy+Apache+Tomcat负载均衡与集群配置

    在当今的企业级应用中,确保系统的高可用性和稳定性是至关重要的。这通常通过建立集群来实现,即通过部署多台服务器来提供相同的服务,以此来...这样,就完成了整个Mod_Proxy+Apache+Tomcat负载均衡与集群的配置过程。

    Apache2.2+tomcat7+jk+jdk1.6

    5. 设置粘性session,可能需要配置负载均衡器或者在Apache中使用mod_proxy_ajp模块。 通过以上配置,我们可以创建一个能够处理高并发、提供session一致性且易于扩展的Web服务架构。这种架构对于大型网站或企业级...

    Nginx之proxy_redirect使用详解

    在讨论Nginx的proxy_redirect指令时,我们首先要明确其在Nginx配置中的作用和重要性。proxy_redirect指令主要用于在反向代理过程中修改响应头中的Location和Refresh字段值。在Web服务器配置中,特别是在使用Nginx...

    Apache+tomcat实现负载均衡

    本篇文章将详细介绍如何使用Apache和Tomcat实现负载均衡。 负载均衡的核心思想是将来自用户的请求分发到多个服务器上,以避免单一服务器过载。在Apache与Tomcat的组合中,Apache通常作为前端负载均衡器,通过HTTP...

    apache+tomcat 实现负载均衡

    在Apache中通过mod_proxy_ajp模块发送AJP数据,另外一端的服务器需要实现AJP协议,能够接受mod_proxy_ajp模块发送的AJP协议数据,在接受到AJP协议数据后做适当处理,并能够将处理结果以AJP协议方式发送回给mod_proxy_...

    apache+tomcat+memcache

    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_...

Global site tag (gtag.js) - Google Analytics