`

Tomcat开发技术之与HTTP服务器的集成 (3)

 
阅读更多

6、Apache与多个Tomcat服务器集成时的负载平衡

在实际应用中,如果网站的访问量非常大,为了提高访问速度,可以将多个Tomcat服务器与Apache集成,让它们共同分担运行Servlet/JSP 组件的任务。 JK插件的loadbalancer(负载平衡器)负责根据在workers.properties文件中预先配置的lbfactor(负载平衡因数)为 这些Tomcat服务器分配工作负荷,实现负载平衡。

假定Apache和两个Tomcat服务器集成,一个Tomcat服务器和Apache运行在同一台机器上,使用的JK端口为8009,还有一个 Tomcat服务器运行在另一台机器上,主机名为anotherhost,使用的JK端口为8009。以下是把Apache和这两个Tomcat服务器集 成的步骤。

(1)把mod_jk_2.0.46.dll拷贝到/lib目录下。

(2)在/conf目录下创建如下的workers.properties文件(注意粗体部分的内容):

ps=\ 
#指定文件路径分割符
worker.list=worker1,
worker2,loadbalancer 

worker.worker1.port=8009  
#工作端口,若没占用则不用修改
worker.worker1.host=localhost 
#Tomcat服务器的地址
worker.worker1.type=ajp13 
#类型
worker.worker1.lbfactor=100 
#负载平衡因数

worker.worker2.port=8009 
#工作端口,若没占用则不用修改
worker.worker2.host=anotherhost 
#Tomcat服务器的地址
worker.worker2.type=ajp13 
#类型
worker.worker2.lbfactor=100 
#负载平衡因数

worker.loadbalancer.type=lb
worker.loadbalancer.
balanced_workers=worker1, worker2

以上文件创建了两个worker:worker1和worker2分别代表两个Tomcat服务器,它们由worker.loadbalancer来分配工作负荷。

(3)修改/conf/httpd.conf文件,在文件末尾加入如下内容:

# Using mod_jk2.dll to 
redirect dynamic calls to Tomcat
LoadModule jk_module
modules\mod_jk_2.0.46.dll
JkWorkersFile "conf\workers.properties"
JkLogFile "logs\mod_jk2.log" 
JkLogLevel debug
JkMount /*.jsp loadbalancer
JkMount /helloapp/* loadbalancer

当客户请求"/*.jsp"或"/helloapp/*"形式的URL,该请求都由loadbalancer来负责转发,它根据在workers.properties文件中为worker1和worker2分配的lbfactor属性,来决定如何调度它们。

只有在使用了loadbalancer的情况下,workers.properties文件中worker的lbfactor属性才有意义,lbfactor取值越大,表示分配给Tomcat服务器的工作负荷越大。

(4)修改两个Tomcat服务器的JK端口,确保它们和workers.properties文件中的配置对应。此外,在使用了loadbalancer后,要求worker的名字和Tomcat的server.xml文件中的元素的jvmRoute属性一致。

所以应该分别修改两个Tomcat的sever.xml文件,把它们的元素的jvmRoute属性分别设为worker1和worker2。以下是修改后的两个Tomcat服务器的元素:

Tomcat服务器1:

<Engine name="Catalina"
defaultHost="localhost"
debug="0" jmvRoute="worker1">

Tomcat服务器2:

<Engine name="Catalina"
defaultHost="localhost" 
debug="0" jmvRoute="worker2">

(5)在完成以上步骤后,分别启动两个Tomcat服务器和Apache服务器,然后访问 http://localhost/index.jsp,会出现Tomcat服务器的默认主页。由于此时由loadbalancer来调度Tomcat服 务器,因此不能断定到底访问的是哪个Tomcat服务器的index.jsp,这对于Web客户来说是透明的。

如果在进行以上实验时,两个Tomcat服务器都在同一台机器上运行,应该确保它们没有使用相同的端口。在Tomcat的默认的server.xml中,一共配置了以下3个端口:

<Server port="8005" 
shutdown="SHUTDOWN" debug="0">
<!-- Define a non-SSL Coyote
HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" />
<!-- Define a Coyote/JK2 
AJP 1.3 Connector on port 8009 -->
<Connector port="8009" />

如果两个Tomcat服务器都在同一台机器上运行,则至少应该对其中一个Tomcat服务器的以上3个端口号都进行修改。

此外,如果把Tomcat和其他HTTP服务器集成,Tomcat主要负责处理HTTP 服务器转发过来的客户请求,通常不会直接接受HTTP请求。因此为了提高Tomcat的运行性能,可以关闭Tomcat的HTTP连接器,方法为在 server.xml中把Tomcat的HTTP Connector的配置注释掉。

分享到:
评论

相关推荐

    Tomcat与JavaWeb开发技术详解(孙卫琴)

    主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发的高级技术,Tomcat与当前其他通用软件的集成,以及Tomcat的各种高级功能。书中内容注重理论与实践相结合,列举了大量具有典型性和实用价值的Web应用...

    apache-tomcat6.0 服务器

    tomcat6.0服务器,可以在上面运行java代码或者集成eclipse进行代码开发

    Tomcat与Java Web开发技术详解(第2版).part2.rar

    主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发的高级技术,Tomcat与当前其他通用软件的集成,以及Tomcat的各种高级功能。  书中内容注重理论与实践相结合,列举了大量具有典型性和实用价值的Web应用...

    Eclipse_Tomcat集成开发环境搭建

    内容如下: Eclipse/Tomcat集成开发环境搭建 下载Tomcat 5.5.23并安装测试服务器是否成功 配置Eclipse的Web Tool插件工具最新版 配置Eclipse Web运行环境 jsp页面测试

    JDK + Tomcat + MySQL环境集成工具

    JTM是Win32下绿色免费的JDK + Tomcat + MySQL环境集成工具。通过JTM用户无需对JDK、Tomcat、 MySQL进行任何安装和配置即可迅速搭建支持JSP + MySQL的服务器运行环境。 二、系统需求及集成软件 1. 系统需求: ...

    《程序员突击——Tomcat原理与Java Web系统开发》源码

    按照读者的学习规律,本书在介绍Java技术的基础上,循序渐进地介绍了如何在最新的Tomcat上开发整合各种Java Web应用技术,以及如何将Tomcat和其他主流HTTP服务器集成并创建具有实用价值的企业Java Web应用方案。

    tomcat与java web源代码

    主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发的高级技术,Tomcat与当前其他通用软件的集成,以及Tomcat的各种高级功能。 书中内容注重理论与实践相结合,列举了大量具有典型性和实用价值的Web应用...

    Tomcat服务器集成Quercus来支持php, jsp, java的Demo工程

    开发环境 eclipse java EE 4.5.0...集成了Quercus,让php也能在Tomcat服务器中运行,可以在php中调用java类。php调用java时遇到中文乱码问题,在DEMO中也有提出我的解决方案,如果有更好的解决方案也请大家不吝惜指教。

    智能网站服务器多语言集成包AiWnmp v1.014 中秋特别版.zip

    企业级智能网站服务器多语言集成包AiWnmp是基于开源程序Nginx Mysql/MariaDB Perl/PHp/CGI Zend FTPserver Apache/Tomcat和PHPmyadmin等成熟技术封装而来。自主研发了集成控制,其特点:高负载、方便、实用、免安装...

    Eclipse_TomCat集成开发环境搭建

    内容如下: Eclips/TomCate集成开发环境搭建 下载Tomcat 5.5.28并安装测试服务器是否成功 配置Eclipse的Web Tool插件工具最新版 配置Eclipse Web运行环境 jsp页面测试

    tomcat-osgi.rar_OsgiContentFactory_osgi_osgi tomcat 集成_osgi tom

    tomcat 服务器集成开发osgi框架,运行osgi应用程序

    apache web整合Tomcat工具

    此版本是window系统下的用与整合apache与tomcat服务器的工具

    apache-tomcat-7.0.82

    Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现...

    Eclipse精要与高级开发技术

    再介绍了JUnit,Eclipse配置管理,Eclispe开发环境中的应用服务器Tomcat,Eclipse中的资源构建和构建工具Ant;最后介绍了Eclipse下的Web应用开发、插件开发技术、Struts应用开发和MySQL数据库应用开发。

    tomcat+phpstudy打包下载

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台...

    Java开发tomcat插件

    Java开发,集成到eclipse for Java ee 的 Web 应用服务器 Tomcat 7.0下载

    论文研究-基于Tomcat日志预处理原型的Java开发研究 .pdf

    基于Tomcat日志预处理原型的Java开发研究,窦亮,胡君萍,随着J2EE技术的兴起,许多公司需要一些Java开发的代码或软件使他们的网站能够处理如Tomcat或Weblogic服务器产生的日志,以便集成到自己的�

    亿美集成环境服务器(ExmayServerX) v1.0 Beta

    亿美集成环境服务器(ExmayServerX)是国内最专注的JAVA开源软件组织之一,国内第一个致力JAVA企业级开源软件的公司,国内首家开源软件社会企业――长沙亿美软件有限公司旗下基于JAVA技术研究开发的具有自主核心技术...

    整合IIS+Tomcat

    把Tomcat与IIS集成,可以扩展IIS的功能,使它支持Java Web应用。 1. 下载isapi_redirect.msi安装文件或isapi_redirect.dll文件 从http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/...

    apache-tomcat-7.0.68

    apache-tomcat-7.0.68 一款集成与web开发的服务器

Global site tag (gtag.js) - Google Analytics