当前位置: 首页 > 专利查询>BEA系统公司专利>正文

用于服务器负载均衡和服务器亲缘关系的系统和方法技术方案

技术编号:2854633 阅读:175 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种包括服务器亲缘关系的、服务器负载均衡的系统和方法。可以将该相同合并到应用服务器以支持负载均衡算法用于提供服务器亲缘关系的RMI对象。服务器亲缘关系以其使用预先存在的连接并且减少开销的这种方式:当客户选择在其上访问服务的服务器实例时考虑其到应用服务器实例现存的连接,来使用用于外部客户连接的智能负载均衡。如果对于服务器亲缘关系来配置服务,则客户端占位模块试图选择其已经连接到的服务器实例,并且对于方法调用继续使用相同的服务器实例。在那个客户上的所有占位模块将试图使用那个服务器实例。如果服务器实例变得不可获得,则在可能的情况下,占位模块故障处理到客户已经连接到的服务器实例。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体涉及一种应用服务器和服务器集群,具体地说涉及用于支持服务器亲缘关系(affinity)的服务器负载均衡的系统和方法。
技术介绍
在应用服务器和分布系统领域,经常使用服务器集群来提供高可获得和可扩展的资源。应用服务器的一个例子是BEA系统公司的WebLogic服务器。集群(如WebLogic服务器集群)包括同时运行和一起工作的多个服务器实例以提供增加的可扩展性和可靠性。对于客户来说集群表现为单个服务器。构成集群的服务器实例可以在相同的机器上运行,或被放置在不同的机器上。可以通过将更多的服务器实例增加到在现存机器上的集群,或通过增加机器到集群以作为增加的服务器实例的主机,来提高集群的能力。在集群中的每个服务器实例必须典型地运行在服务器产品的相同版本上。对于集群如何与应用服务器存在的环境相关的方面,集群通常是具体的服务器(例如WebLogic服务器)域的一部分。域是可以作为单元管理的相互联系的一组资源。域包括一个或多个服务器实例,其可以是集群的、非集群的、或集群的和非集群的实例的组合。域可以包括多个集群。域还包括在域中布置的应用组件、和在域中的那些应用组件和服务器实例所需要的资源和服务。应用和服务器实例使用的资源和服务的例子包括机器定义、可选网络通道、J2EE组件、EJB、连接器、和启动类。管理员可以使用各种标准来将服务器实例组织为域。例如,他们可以选择根据被放置在主机的应用的逻辑划分、地理考虑、或在管理下的资源的复杂性和数量来将资源分配到多个域中。在WebLogic域中,一个WebLogic服务器实例通常作为管理服务器工作——配置、管理、和监测在域中的所有其他服务器实例和资源的服务器实例。每个管理服务器只管理一个域。如果域包括多个集群,则在域中的每个集群具有相同的管理域;在集群中的所有服务器实例必须驻留在相同的域中。即,你不能在多个域上“拆分”集群。类似地,你不能在域之间共享所配置的资源或子系统。例如,如果你在一个域中创建JDBC连接池,你不能在另一个域中与服务器实例或集群一起使用它。(而是,你必须在第二个域中创建类似的连接池。)集群化的服务器实例与非集群化的实例的行为类似,除了它们提供故障解决和负载均衡以外。用于配置集群化的服务器实例的过程和工具与用于配置非集群化的实例的那些相同。服务器集群提供下面的好处和特征可扩展性-可以动态地增加布置在集群上的应用的能力以满足需要。可以将服务器实例增加到集群而不中断服务——应用继续运行而不影响客户和终端用户。高获得性-在集群中,当服务器实例出故障时应用处理可以继续。通过将它们布置在集群中的多个服务器实例上而将应用组件“集群化”——所以,如果组件运行于其上的服务器实例出故障,则组件被布置于其上的另一个服务器实例可以继续应用处理。故障处理(failover)-故障处理意味着当应用组件(在下面部分中通常称为“服务”)正在进行具体“工作”—某组处理任务—变成由于任何原因而不可获得时,出故障的服务的拷贝完成该工作。为了新服务能够接替出故障的服务,必须可以获得出故障的服务的拷贝以接替工作。还必须有对管理故障处理的程序和其他服务是可获得的这样的信息,该信息定义所有服务的操作状态和位置——从而可以确定在完成其工作前第一服务出故障了。还必须有对管理故障处理的程序和其他服务是可获得的这样的信息,该信息说明在处理中的工作的进展情况——从而接替所中断的工作的服务知道在第一服务出故障之前完成了多少工作,例如,改变了什么数据、和完成了处理中的什么步骤。包括WebLogic服务器的许多应用服务器使用基于标准的通信技术和工具——多点传送、IP套接字、和Java命名和目录接口(JNDI)——来共享和保存关于在集群中的服务的可获得性的信息。这些技术使得服务器确定服务在完成其工作之前停止的服务、和该服务的拷贝的位置以完成被中断的工作。将关于已经完成的工作的信息称为状态。WebLogic服务器使用被称为会话复制和复制件知晓占位模块(replica-aware stub)的技术来保存关于状态的信息。当具体的服务非预料地停止进行其工作时,复制技术使得服务的拷贝从出故障的服务停止的位置接替并完成工作。负载均衡-负载均衡是工作和在应用服务器环境中在计算和网络资源之间所关联的通信的平均分布。为了进行负载均衡,必须有能够执行特定工作的服务的多个拷贝。关于所有服务的操作状态和位置信息也必须是可获得的。此外,WebLogic服务器允许将服务集群化——被布置在多个服务器实例上——从而存在多个替代服务来执行相同的工作。WebLogic服务器使用多点传送、IP套接字、和JNDI来共享和保存所布置的服务的位置和可获得性。集群化的应用或应用组件是在集群中的多个服务器实例上的可获得的一个。如果服务是集群化的,则对那个服务的故障处理和负载均衡是可获得的。万维网应用可以包括不同类型的服务,包括企业型Java小系统(EJB)、小型服务程序(servlet)、和Java服务器页面(JSP)。每种服务类型具有与控制、调用、和其如何在应用内工作相关的唯一的一组行为。为此,WebLogic服务器用来支持集群——从而提供负载均衡和故障处理——的方法可以针对不同类型的服务而不同。下面是在WebLogic服务器布置中可以被集群化的服务类型小型服务程序;JSP;远端方法调用(RMI)对象;Java消息服务(JMS)目的地;和Java数据库连接性(JDBC)连接。不同的服务类型可以具有共同的特定行为。当在这种情况下,对于那些类似的服务类型的实施考虑和集群支持可以是相同的。在下面的部分,总体合并了用于下面类型的服务的解释和说明小型服务程序和JSP;以及EJB和RMI对象。下面的部分主要描述了支持WebLogic服务器提供不同类型服务的集群化、故障处理和负载均衡。小型服务程序和JSPWebLogic服务器通过复制访问集群化的小型服务程序和JSP的客户的HTTP会话状态来提供用于小型服务程序和JSP的集群支持。WebLogic服务器可以在存储器、文件系统、或数据库中保存HTTP会话状态。EJB和RMI对象使用复制件知晓占位模块(其可以在整个集群中定位服务的实例)来处理用于EJB和RMI对象的负载均衡和故障处理。为EJB和RMI对象创建复制件知晓占位模块作为服务编译处理的结果。对在集群中的所有服务实例同构地布置EJB和RMI对象。使用服务的复制件知晓占位模块来实现EJB和RMI对象的故障处理。当客户通过复制件知晓占位模块做出对出故障的服务的调用时,占位模块检测故障并且在另一个复制件上重新尝试该调用。JDBC连接WebLogic服务器允许你集群化JDBC服务,包括数据源、连接池和多点池(multipool),以提高将其集群放置在主机上的应用的可获得性。你为你的集群配置的每个JDBC服务必须在集群中的每个所管理的服务器上存在。JMSWebLogic Java消息服务(JMS)构架通过支持从在集群中的任何WebLogicServer服务器实例到目的地的、集群范围的透明访问,来实施多个JMS服务器的集群化。虽然WebLogic服务器在整个集群中支持分布的JMS目的地和连接工厂(factory),但是仍然由在集群中的每个WebLogic服务器本文档来自技高网...

【技术保护点】
一种包括服务器亲缘关系的、服务器负载均衡的系统,包括:集群,包括多个服务器实例;负载均衡和亲缘关系处理器,其将从所述集群来的服务器分派给从客户来的、以服务请求为形式的服务客户请求;和客户端占位模块,其试图选择其已经连接到的服务器实例,并且继续为服务请求使用相同的服务器实例。

【技术特征摘要】
【国外来华专利技术】US 2003-2-24 60/449,7751.一种包括服务器亲缘关系的、服务器负载均衡的系统,包括集群,包括多个服务器实例;负载均衡和亲缘关系处理器,其将从所述集群来的服务器分派给从客户来的、以服务请求为形式的服务客户请求;和客户端占位模块,其试图选择其已经连接到的服务器实例,并且继续为服务请求使用相同的服务器实例。2.根据权利要求1所述的系统,其中在那个客户上的所有占位模块都试图使用那个服务器实例。3.根据权利要求1所述的系统,其中如果服务器实例变成不可获得,则在可能的情况下所述占位模块故障处理到客户已经连接到的服务器实例。4.根据权利要求1所述的系统,其中所述负载均衡方法是循环的、基于权重的、或随机的之中任何的一种方法。5.根据权利要求4所述的系统,其中所述负载均衡方法包括用于内部和外部连接两者的循环的负载均衡。6.根据权利要求4所述的系统,其中所述负载均衡方法包括用于内部和外部连接两者的基于权重的负载均衡。7.根据权利要求4所述的系统,其中所述负载均衡方法包括用于内部和外部连接两者的随机的负载均衡。8.根据权利要求4所述的系统,其中所述负载均衡方法包括管理外部Java客户和服务器实例之间的连接的服务器亲缘关系,并且其中将循环的负载均衡用于在服务器实例之间的连接。9.根据权利要求4所述的系统,其中所述负载均衡方法包括管理外部Java客户和服务器实例之间的连接的服务器亲缘关系,并且其中将基于权重的负载均衡用于在服务器实例之间的连接。10.根据权利要求4所述的系统,其中所述负载均衡方法包括管理外部Java客户和服务器实例之间的连接的服务器亲缘关系,并且其中将随机的负载均衡用...

【专利技术属性】
技术研发人员:埃里克M哈尔彭普拉萨德佩达达内里什雷瓦纳鲁
申请(专利权)人:BEA系统公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利