见上图,用开源软件简单实现的java website cluster结构。这个结构其实是很简易试验的,其中在apache和tomcat这部分,只要熟读tomcat cluster和mod_jk的文档后,并且你是懂得用httpd.conf的话,只要花1,2天的时间就可试验,并用一小jsp程序进行试验。
同时,即使用不上完整和大型cluster结构,同一server 硬件内进行单apache+双tomcat的运行结构对小型系统的生产运行环境也是有好处的:
更新application classes/lib时,可先停掉一个tomcat,将现时登录用户无缝切换至另一tomcat服务,更新停掉tomcat的classes/lib代码后重新投入服务,再停掉另一tomcat更新代码。tomcat的SimpleTcpCluster其实只是实现简单的在各tomcat间序列化session复制机制,而各tomcat内部还是独立运行的,如果session中变量代码不发生变化的话,问题不大。而用户是感觉不到后台tomcat的切换,对用户来说服务没有停止。这种结构可以处理大部分tomcat需要停止而不希望停止用户服务的问题。
注意: 最新版本的mod_jk的配置格式和旧版本(现在网络上搜索到大多数还是旧配置格式)是不同的,建议直接看mod_jk文档。
以下是简单配置提示:
(1)直接下载tomcat/httpd版本对应的mod_jk.so
(2)httpd.conf中加入:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /home/apache/conf/workers.properties
JkShmFile /home/apache/logs/mod_jk.shm
JkLogFile /home/apache/logs/mod_jk.log
JkLogLevel info
JkMount /*.jsp lb
JkMount /jkstatus/* jkstatus
(2)workers.properties配置:
worker.list=lb, jkstatus
worker.lb.type=lb
worker.lb.balance_workers=tomcat01, tomcat02
worker.jkstatus.type=status
worker.tomcat01.type=ajp13
worker.tomcat01.host=localhost
worker.tomcat01.port=8009
worker.tomcat02.type=ajp13
worker.tomcat02.host=localhost
worker.tomcat02.port=9009
(3)tomcat01/tomcat02的server.xml中配置jvmRoute、AJP端口、Cluster:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat01">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
(4)cluster application web.xml中配置:
<distributable />
btw: javaeye blog显示将unix下的CRLF显示成两行回车换行。
分享到:
相关推荐
JAVA开源软件分类,详细介绍JAVA各类开源产品,并从多个维度进行划分和管理。
开源软件之道-java 开源软件之道-java
(Java毕业设计)简易java开源订销管理系统(Java毕业设计)简易java开源订销管理系统(Java毕业设计)简易java开源订销管理系统(Java毕业设计)简易java开源订销管理系统(Java毕业设计)简易java开源订销管理系统(Java毕业...
[信息办公]简易java开源订销管理系统_javainfo[信息办公]简易java开源订销管理系统_javainfo[信息办公]简易java开源订销管理系统_javainfo[信息办公]简易java开源订销管理系统_javainfo[信息办公]简易java开源订销...
开源软件之道-java-5 开源软件之道-java-5
[信息办公]简易java开源订销管理系统_javainfo.zip[信息办公]简易java开源订销管理系统_javainfo.zip[信息办公]简易java开源订销管理系统_javainfo.zip[信息办公]简易java开源订销管理系统_javainfo.zip[信息办公]...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
[信息办公]简易java开源订销管理系统_javainfo.rar[信息办公]简易java开源订销管理系统_javainfo.rar[信息办公]简易java开源订销管理系统_javainfo.rar[信息办公]简易java开源订销管理系统_javainfo.rar[信息办公]...
【Java项目开源源码】资源 java基于BS结构下的OA流程可视化的研究与实现(源代码+论文)
简易java框架开源论坛系统.javabbs
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
主要是关于企业对人员的考勤,并对其进行评价,和管理
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
我认为这是一个非常棒的开源Java论坛源代码。该源码不仅提供了一种极好的学习机会,而且还可以为使用者提供极佳的交流社区,并且可以进行自定义的修改以适应不同的需求。此外,源码的开源性质也使得它更加具有灵活性...
java-Push开源实时消息推送系统