失效链接处理 |
tomcat集群文档 PDF 下载
本站整理下载:
提取码:om82
相关截图:
主要内容:
一、为何要集群 单台 App Server 再强劲,也有其瓶劲,先来看一下下面这个真实的场景。 当时这个工程是这样的,tomcat 这一段被称为 web zone,里面用 spring+ws,还装了一个 jboss 的规则引擎 Guvnor5.x,全部是 ws 没有 service layer 也没有 dao layer。 然后 App Zone 这边是 weblogic,传输用的是 spring rmi,然后 App Zone 这块全部是 service layer, dao layer 和数据库打交道。 用户这边用的是.net,以 ws 和 web zone 连的。 时间一长,数据一多,就出问题了。
拿 Loader Runner 跑下来,发觉是 Web Zone 这块,App Server 已经被用到极限了。因为客 户钱不多,所以当时的 Web Zone 是 2 台服务器,且都是 32 位的,内存不少,有 8GB,测试 下来后发觉 cpu loader 又不高,但是 web server 这边的吞吐量始终上不去,且和.net 客 户端那边响应越来越慢。 分析了一下原因:单台 tomcat 能够承受的最大负载已经到头了,单台 tomcat 的吞吐量就这 么点,还要负担 Guvnor 的运行,Guvnor 内有数百条业务规则要执行。 再看了一下其它方面的代码、SQL 调优都已经到了极限了,所以最后没办法,客户又不肯拿 钱投在内存和新机器上或者是再买台 Weblogic,只能取舍一下,搞 Tomcat 集群了。 二、集群分类 Tomcat 作集群的逻辑架构是上面这样的一张图,关键是我们的 production 环境还需要规划 好我们的物理架构。 2.1 横向集群 比如说,有两台 Tomcat,分别运行在 2 台物理机上,好处是最大的即 CPU 扩展,内存也扩 展了,处理能力也扩展了。
2.2 纵向集群 即,两个 Tomcat 的实例运行在一台物理器上,充分利用原有内存,CPU 未得到扩展。
2.3 横向还是纵向 一般来说,广为人们接受的是横向扩展的集群,可做大规模集群布署。但是我们这个 case 受制于客户即: ü 不会再投入新机器了 ü 不会增加内存了 但是呢,通过压力测试报告我们可知: ü 原有 TomcatServer 的 CPU Loader 不高,在 23%左右 ü 原有 TomcatServer 上有 8GB 内存,而且是 32 位的,单台 Tomcat 只使用了 1800MB 左右的内存
ü 网络流量不高,单块千兆以太网卡完全可以处理掉 因此,我们只能做熊掌与鱼不能兼得的事,即采用了:纵向集群。 2.4 Load Balance 与 High Available ü Load Balance 简称 LB 即负载均衡,相当于 1000 根线程每个集群节点:Node 负责处理 500 个,这样的效 率是最高的。 ü High Available 简称 HA 即高可用性,相当于 1000 根线程还是交给一台机器去慢慢处理,如果这台机器崩了, 另一台机器顶上。 三、集群架构中需要解决的问题 集群规划好了怎么分,这不等于就可以开始实现集群了,一旦你的系统实现了集群,随之而 来的问题就会出现了。 我们原有系统中有这样几个问题,在集群环境中是需要解决的,来看: 3.1 解决上传文件同步的问题
|