Welcome 微信登录

首页 / 软件开发 / JAVA / 高影响力的Web层群集,第一部分: 利用JavaGroups扩展

高影响力的Web层群集,第一部分: 利用JavaGroups扩展2011-04-16 IBM Sing Li随着J2EE平台的日益成熟,为了在Web层上扩展Web服务及应用,可以在联网的群集配置中 部署廉价服务器(commodityservers )。这些廉价服务器通过廉价的LAN硬件相互连接在一 起,可以提供成本合适的群集解决方案。最后一个群集难题在于软件方面。在本系列文章中 ,SingLi分析了三种可以允许高影响力Web层群集的开放源代码软件基础,首先介绍 JavaGroups。

在 Internet 上,基于J2EE的Web应用及Web服务的流行,将同时处理上千个(或者更多) 用户的需求推向前台。在许多商业部署中,这不再是一个“未来可用的”奢侈品 ,而是成为必需品。在这种竞争的商业环境中,一个在线商店如果顾客一多就挂起或崩溃, 它是不会生存下去的。尽管针对 J2EE 模型的事务层(用于数据库、事务监听器、消息队列 ,等等)的可扩展解决方案已经广泛可用,但是用于在Web层扩展 Web 应用或服务的解决方 案还刚刚浮现。在该系列文章中,我们将要看几个可应用于在 Web 层扩展应用的软件技术。 每种技术都采用一种不同的方法,并且解决一个稍微不同的问题集合。在这第一篇文章中, 我们将探讨一种流行的开放源代码的分布式通信基础,那就是 JavaGroups。

在Web层扩展应用

扩展Web层有多种经过检验而可靠的方法。增加一个服务处理的并发会话的数量最直观的 方法是向应用服务器增加资源。这些资源包括内存与磁盘空间(存储资源)和 CPU (计算资源) 。图 1 演示了可扩展性的这一单机器方法:

图 1. 在单个 SMP 服务器上扩展 Web 层

该方法的障碍在于处理器使用的地址空间上的限制和廉价对称多处理器(symmetric multiprocessor,SMP)硬件上的限制(合理的成本)。服务器配置超过四个处理器,就可能需 要专用的或定制的硬件来处理资源负载,并且对系统的掌握和维护很快就变得昂贵起来。这 些限制给我们利用单服务器解决方案在 Web 层上所能处理的用户会话数量施加了一个实际的 上限。

除了在会话方面的限制以外,由于它的单点故障,单服务器解决方案通常也不是一种健壮 的解决方案。可用性是不连续的,因为当单个服务器出现故障时,服务就是不可用的。尽管 该问题有多种可行的技术上的解决方案(比如可热切换的、冗余的备份资源),但是这些解决 方案都非常昂贵。