1、Tomcat负载平衡集群方案设计设计1Tomcat负载平衡集群方案网进科技(昆山)有限公司二八年三月一、TOMCAT集群设计方案1、概述1.1集群优势在单一的服务器上执行WEB应用程序有一些重大的问题,当网站成功建成并开始接受大量请求时,单一服务器无法满足需要处理的负荷量,所以就有点显得有点力不从心了。另外一个常见的问题是会产生单点故障,如果该服务器坏掉,那么网站就立刻无法运作了。不论是因为要有较佳的扩充性还是容错能力,我们都会想在一台以上的服务器计算机上执行WEB应用程序。1.2集群系统专门术语:1. 集群(Cluster):是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网
2、络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。 2. 负载均衡(Load Balance):集群就是一组连在一起的计算机,从外部看它是一个系统,各节点可以是不同的操作系统或不同硬件构成的计算机。如一个提供Web服务的集群,对外界来看是一个大Web服务器。不过集群的节点也可以单独提供服务。3. 特点:在现有网络结构之上,负载均衡提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。集群系统(Cluster)主要解决下面几个问题: 1) 高可靠性(HA):利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务
3、器的工作,并及时切换过去,以实现对用户的不间断服务。2) 高性能计算(HP):即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析,化学分析等。 3) 负载平衡:即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。1.3常用的负载均衡技术1) 基于DNS的负载均衡 通过DNS服务中的随机名字解析来实现负载均衡,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,他们也就访问不同
4、地址上的Web服务器,从而达到负载均衡的目的。 2) 反向代理负载均衡 (如Apache+Tomcat这种组合)使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。3) 基于NAT(Network Address Translation)的负载均衡技术 (如Linux Virtual Server,简称LVS)网络地址转换为在内部地址和外部地址之间进
5、行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后外部网络中的计算机就各自与自己转换得到的地址上服务器进行通信,从而达到负载分担的目的。2、实现方案2.1基本架构TOMCAT服务器本身不提供失效转移能力,就是当一个集群接点失效的时候重定向任何一个可用的服务器上。所以本方案采用Apache(HTTP Server)作为代理服务器(Proxying),其中代理均衡模块(mod_proxy_balancer)提供负载均衡服务;AJ
6、P 1.3(Apache JServ Protocol)连接器负责与Tomcat通信。负载服务器 :操作系统windows2003 Tomcat1服务器:操作系统windows2003Tomcat2服务器:操作系统windows2003结合Tomcat的集群(Cluster)功能,服务器结构如下:代理服务器上安装Apache,服务器1和2各安装一个Tomcat实例。2.2 容错与SESSION 复制Apache httpd作为代理服务器,MOD_PROXY_BALA负载均衡与故障复原,而且使用AJP 将请求传送给Tomcat处理,在集群系统中,带有MOD_PROXY_BALA的Apache h
7、ttpd可以做的事情包括:A、 将请求分配至一或多个Tomcat实例上可以在MOD_PROXY_BALA的workers.properties文件中,设定许多Tomcat实例,并赋于每个实例一个lb_factor值,以作为请求分配的加权因子。B、 侦测Tomcat实例是否失败当Tomcat实例的连接器服务不再响应时,MOD_PROXY_BALA会及时侦测到,并停止将请求送给它。其他的Tomcat实例则会接受失效实例的负载。C、 侦测Tomcat实例在失效后的何时恢复因连接器服务失效,而停止将请求分配给Tomcat实例之后,MOD_PROXY_BALA会周期性地检查是否已恢复使用性,并自动将其加
8、入现行的Tomcat实例池中。Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制。MOD_PROXY_BALA同时支持会话亲和和会话复制。A.会话亲和:就是表示来自同会话的所有请求都由相同的Tomcat 实例来处理,这种情况下,如果Tomcat实例或所执行的服务器机器失效,也会丧失Servlet的会话数据。即使在集群系统中执行更多的Tomcat实例,也永远不会复制会话数据。这样是提高集群性能的一种方案,但不具备有容错能力了。B.使用会话复制,则当一个Tomcat实例宕掉时,由于至少还有另一个Tomcat实例保有一份会话状态数据,因而数据不会丧失。但性能会有所降
9、低。(本方案采用会话复制)二、报价 代理服务器型 号 IBM X3850M2 7141(2) 价格100712 (RMB:元)类别4路基本描述2*Intel Xeon Processor 7320 (2.13GHz/4MB L2 Quad Core), 1066MHz FSB, 4-SMP, 4*1GB, HS 0GB SAS, 2*Memory Card, Light Path, Combo, 2*Giga Ethernet, RSA II SlimLine, 2*1440wCPU类型/主频2*Intel Xeon Processor 7320 (2.13GHz/4MB L2 Quad Co
10、re), 1066MHz FSB, 4-SMP 内存类型/容量4*1GB 硬盘类型/容量/转速/数量3.5 73G SAS(10K) 2块网卡2*Giga Ethernet电源2*1440w软驱/光驱Combo保修3年有限保修(3年部件,3年人工,3年现场) TOMCAT服务器型 号 IBM X3850M2 7141(2) 价格100712 (RMB:元) 类别4路基本描述2*Intel Xeon Processor 7320 (2.13GHz/4MB L2 Quad Core), 1066MHz FSB, 4-SMP, 4*1GB, HS 0GB SAS, 2*Memory Card, Light Path, Combo, 2*Giga Ethernet, RSA II SlimLine, 2*1440wCPU类型/主频2*Intel Xeon Processor 7320 (2.13GHz/4MB L2 Quad Core), 1066MHz FSB, 4-SMP 内存类型/容量4*1GB 硬盘类型/容量/转速/数量3.5 73G SAS(10K) 2块网卡2*Giga Ethernet电源2*1440w软驱/光驱Combo保修3年有限保修(3年部件,3年人工,3年现场) 实施费用时间费用TOMCAT集群10天5000元TOMCAT性能调优3天1500元6500元
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1