分析基于WebLogic的集群Web服务器的实现方案
2011-12-31杨磊
杨磊
(黑龙江省电力有限公司通信自动化中心,黑龙江 哈尔滨 150009)
1 引言
互联网的出现使信息访问产生了质的飞跃,但随之而来的是Web流量的激增(高并发访问),由于涉及信息量十分庞大,用户访问的频率也高,许多基于Web的大型公共信息系统(如电子图书馆、BBS、搜索引擎和远程教育等)需要在实时性和吞吐量方面都具有较高性能的Web服务器支持。在介绍Weblogic集群之前,先看看传统的双机架构,这种架构存在以下几点不足之处:采用主机备机的方式,一般主机使用比较频繁,导致另外比较空闲,资源利用不均衡;当一个Server发生故障的时候,必须通知用户使用另外一台的Server,管理和维护比较麻烦;用户切换应用的时候,需重新登录,有些延误时间。
实际上,服务器的处理能力和I/O已经成为提高Web服务的瓶颈。如果客户的增多导致通信量超出了服务器能承受的范围,那么其结果必然是服务质量下降。显然单台服务器有限的性能不可能解决这个问题,一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒内处理上百万个甚至更多的请求。显然,采用高性能的主机系统(小型机或大型机)是可行的,但是除了价格十分昂贵外,这种高速、高性能的主机系统,很多情况下也不能解决同时处理几万个并发,因为,高速主机系统只是对于复杂的单一任务和有限的并发处理显得高性能,而Internet中的Web服务器大多数处理是“简单任务”、高强度并发处理,因此即便有大资金投入高性能、高价格的主机系统,也不能很好的满足Web应用的需要。这就是利用Web服务器集群实现负载均衡的最初基本设计思想。
2 集群的优点是什么?
2.1 可伸缩性
可以动态增加部署在 WebLogic Server集群中的应用程序的容量以满足需要。可以将服务器实例添加到集群中而不会中断服务,应用程序将继续运行而不会影响客户端和最终用户。
高可用性。在WebLogic Server集群中,当服务器实例失败时应用程序可继续进行处理。可通过将应用程序组件部署到集群中的多个服务器实例,“集群”这些组件,这样,如果在其上运行某个组件的服务器实例失败,则将此组件部署到的其他服务器实例可以继续进行应用程序处理。
集群WebLogic Server实例的选择对于应用程序开发人员和客户端是透明的。但是,了解启用集群的技术基础结构将有助于编程人员和管理员最大化其应用程序的可伸缩性和可用性。
2.2 集群的关键功能是什么?
2.2.1 应用程序故障转移
简单的说,故障转移是当应用程序组件(在下列部分中通常称作“对象”)正在处理某个特定作业时某些处理任务部分由于任何原因而变得不可用,已失败对象的副本将结束此作业。WebLogic Server支持自动或手动将集群服务器实例从一台计算机迁移到另一台计算机,可迁移的受管服务器被称作“可迁移服务器”。本功能适用于要求高可用性的环境。
2.2.2 负载平衡
负载平衡是在环境中跨计算资源与网络资源平均分发作业和关联的通信。
2.2.3 哪种类型的对象可以集群
集群的应用程序或应用程序组件在集群中的多WebLogic Server实例上可用。如果已集群某个对象,则此对象的故障转移和负载平衡是可用的。将对象均匀部署到集群中的每个服务器实例,可以简化集群管理、维护和故障排除。
Web应用程序可由不同类型的对象组成,包括企业 Java Bean(EJB),servlet和 Java Server Pages(JSP)。每种对象类型都具有唯一的一组与控制、调用以及它如何在应用程序内起作用相关的行为。由于此原因,WebLogic Server用于支持集群的方法,以及用于提供负载平衡和故障转移的方法,会因不同的类型对 象而异。可在WebLogic Server部署对下列类型的对象进行集群:Servlet、JSP、EJB、远程方法调用(Remote Method Invocation,简称 RMI)对象、Java消息服务(JMS)目标、Java数据库连接 (JDBC)。
2.2.4 什么类型的对象不可集群
以下API和外部服务不可在WebLogic Server内集群:包含文件共享的文件服务、时间服务。在集群的各个WebLogic Server实例中仍可使用这些服务。但是这些服务不能使用负载平衡或故障转移功能。
2.3 集群有哪些限制
集群中的WebLogic主机必须使用永久的静态IP地址。动态IP地址分配不能用于集群环境。如果服务器位于防火墙后面,而客户机位于防火墙外面,那么服务器必须有公共的静态IP地址,只有这样,客户端才能访问服务器。
集群中的所有WebLogic服务器必须位于同一个局域网,并且必须是IP广播可到达的。
集群中的所有WebLogic服务器必须使用相同的版本。
结束语
本文提出了基于WebLogic的集群Web服务器的设计方案,系统能够达到负载均衡的目的,该方案已经在多个网站中使用并取得了很好的效果。
[1]石开强.集群WEB代理服务器的设计[J].电子科技大学,2008,04-01.