J2EE clustering part 1
群集对于好的网站设计是至关重要的;你了解clustering的基础知识么?
By Abraham Kang
翻译 TianYu 2002-12-13
http://www.javaworld.com/javaworld/jw-02-2001/jw-0223-extremescale_p.html
摘要
如果你计划建立一个可伸缩的,可用的网站,那么你就需要理解群集.在这篇文章里, Abraham Kang介绍了J2EE群集,说明如何实现群集, 调查了Bluestone Total-e-server, Sybase Enterprise Application Server, SilverStream Application Server, 和 WebLogic Application Server在方法上如何不同.掌握了群集知识,你将能够设计和实现有成效的J2EE应用.
在Web上企业正在选择Java 2, Enterprise Edition (J2EE)产生他们关键性任务的应用.在J2EE框架里, 集群提供了保证最少下载时间和最大伸缩性的关键性任务服务.集群是在一组应用服务器显式运行你的J2EE应用,就象一个实体一样, 对于伸缩来说,你以后会在集群里引入额外的机器.确定集群的每个组件都是冗余的,来保证最少的下载时间.
在这篇文章里,我们将对群集,群集方式和重要的集群服务有个基本的理解.由于群集方式在行业应用里是多样的,所以我们将调查每种方式的好处和缺点.另外,我们也将寻找集群在应用服务器里重要的相关特点,并进行讨论.
为了把我们新获得的群集知识应用到现实世界,我们将了解HP Bluestone Total-e-Server 7.2.1, Sybase Enterprise Application Server 3.6, SilverStream Application Server 3.7和 BEA WebLogic Server 6.0它们每一个是如何实现集群的.
在后续的第二部分里,包括群集的编程和失败转移策略.也测试了四个应用服务器产品,了解他们如何伸缩和失败转移的.
集群定义
J2EE应用服务器提供商给集群下了定义, 一个集群就是一组在一起工作,显式提供企业服务(支持JNDI,EJB,JSP, HttpSession和组件失败转移等等)的机器群.他们特意给出了含糊不清的定义,因为每个提供商实现群集是有差异的.有些提供商把一个分发器放到一组独立的机器前面, 在集群里这些机器彼此之间互不了解.在这个方案里,分发器从用户那里收到一个初始的请求,然后由集群里具体的成员服务器通过HTTP把头重定向到客户端应答. 另一些提供商实现了一个紧密的,完整的机器联盟,每个机器都随着那些机器上的对象知道它周围的其他机器.
除了机器外,集群可以包括冗余和失败转移的能力.
· ·负载均衡器(Load balancers):
进入集群和通行指示器到单个Web或应用服务器的唯一入口点
·Web servers
·网关路由器(Gateway routers) 在内网外的的出口点.
·多层交换器(Multilayer switches)
包和帧过滤确保在集群里的每个机器仅仅收到相关机器的信息.
·防火墙(Firewalls)
集群保护器通过端口过滤防止Hackers访问集群和内网
·存储区域网络交换器(SAN---Storage Area Networking switches)






