6_Apache2+Tomcat6负载均衡和集群_于跃

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TNMS基于Apache和Tomcat的负载均衡和集群

北京直真节点技术开发有限公司

2013年7月1日

需求

由于TNMS系统经常出现WebUI内存不足,导致经常出现界面卡死现象,为解决这一问题,建议现场部署Apache和tomcat负载均衡和集群功能。

软件介绍

1、Apache主要用来解析静态文本,如html,tomcat也有此功能,但apache能大大提高效率,对于并发数较大的企业级应用,能更好的显示apache的高效率;

2、Tomcat用来解析jsp,servlet等,所有的客户请求首先会发送到apache,如果请求是静态文本则由apache解析,并把结果返回给客户端,

如果是动态的请求,如jsp,apache会把解析工作交给tomcat,由tomcat进行解析(这首先要两者现实整合),tomcat解析完成后,结果仍是通过apache返回给客户端,这样就可以达到分工合作,实现负载均衡,提高系统的性能!

3、mod_jk 也叫JK,这是一款Apache/IIS 用来连接后台Tomcat的模块,支持集群和负载均衡

mod_jk的作用可以实现apache与tomcat一对多的对应,使后端tomcat负载均衡。mod_jk 也提供apache与tomcat链接情况的监控。

mod_jk模块的典型工作流程是这样的:一个HTTP请求过来,mod_jk模块根据其URI选择合适的worker来进行处理。

如果是lb_worker(负载均衡的worker),就再根据各种条件选择后台合适的ajp_worker(处理AJP协议的worker)。

ajp_worker将HTTP协议的包,组装成AJP协议格式的包,然后选取一条空闲的链接,发送给后台的tomcat服务器。

等到后台将数据发送过来时,接收并解析AJP协议,重新组装成HTTP协议,然后把结果发送给客户端。

原理图

Apache+tomcat与单点登录对比

Apache+tomcat集群负载均衡与单点登录对比

Apache+tomcat集群负载均衡单点登录

是否需要部署需要

1、编译Apache和mod_jk模块(需要root

用户编译)

不需要

CAS-server模块已经集成到TNMS系

统中,无需再部署

配置文件数量1、httpd.conf (全局配置文件)

2、httpd-vhosts.conf (虚拟主机的配置

文件)

3、workers.properties (负载均衡配置文

件)

4、server.xml (tomcat配置文件)

1、CAP.xml

2、cas.properties

3、startUIServer.sh

4、stopUIServer.sh

5、server.xml

6、frame.xhtml

7、web.xml

8、Spring-security-acegi-cas.xml

对TNMS系统影响范围安装配置调试过程都不会影响TNMS系统运

行,与TNMS系统完全独立

修改TNMS配置文件和调试过程都会

对TNMS系统产生影响

是否对用户使用透明完全透明 (访问方式:

http://10.2.0.132:8080/tnms)

完全透明 (访问方式:

http://10.2.0.132:8080/tnms)

对现场维护是否透明完全透明(多个tomcat使用同一个项目文

件,现场还是像以前一样维护一个项目文件

即可,也就是一个WebUI)

不透明(现场需要同时维护多个项目

文件,也就是多个WebUI)

工作模式使用多个tomcat,每个tomcat都负责TNMS

系统的所有模块,如果多个用户同时访问系

统,会被自动分配到空闲的tomcat上,保

证每个tomcat用户数达到平衡。任何一个

tomcat服务挂掉,在挂掉的这个tomcat上

的用户会被无缝切换到其他tomcat上,用

户可以继续使用;

使用多个tomcat,每个tomcat都只是

负责具体的模块,用户访问系统的时

候,在访问多个TNMS模块时,用户会

话会通过CAS自动登录到其的tomcat

以便访问其他模块。如果有多个用户

同时访问同一个模块(告警),那么负

载会全部集中在这一个tomcat本身

上,一但这个tomcat挂掉,访问这个

模块的用户将全部不能再访问;

优点1、配置简单,可以随时灵活的增加tomcat

服务

2、对最终用户和现场维护都是完全透明

3、可用性高

1、无需安装

2、能够将用户访问控制范围缩小到一

个模块

3、可以将一个模块的日志单独打印到

一个日志中

缺点1、需要使用root用户安装编译apache 1、需要配置多个WebUI,增大现场维护量

2、配置过程复杂繁琐而且容易出错

3、每次TNMS系统大版本升级完成之后还需要重新配置

4、增加一个tomcat就需要做很多配置修改

性能对比

实施步骤

1、检查系统是否满足安装要求

Apache和mod_jk都是源码安装,所以需要具备编译环境,按照以下方式进行检查:

1、Linux和SunOS检查gcc是否安装

检查gcc是否安装

[root@tnms132 ~]# gcc -version

检查g++是否安装

[root@tnms132 ~]# g++ --version

2、hp服务器检查是否有aCC编译工具

root@tnmsapp2:/ # aCC -V

aCC: HP ANSI C++ B3910B A.03.70

相关文档
最新文档