一种负载均衡的方法及装置制造方法及图纸

技术编号:10054638 阅读:186 留言:0更新日期:2014-05-16 04:16
本发明专利技术涉及通信技术,尤其涉及一种负载均衡的方法及装置。该方法包括:接收客户端发送的第一请求信息;当所述第一请求信息不包括服务器信息时,为所述客户端分配响应服务器,以用于执行所述第一请求信息;当所述响应服务器返回所述第一请求信息的响应信息时,若所述响应服务器所属的集群中除所述响应服务器以外的其他服务器中至少有一个服务器没有完成同步,则设置所述响应服务器为所述客户端的指定服务器。该方法能够有效提高集群的负载均衡效果。

【技术实现步骤摘要】
一种负载均衡的方法及装置
本专利技术涉及通信技术,尤其涉及一种负载均衡的方法及装置。
技术介绍
伴随着计算机技术和网络通信技术的快速发展,集群得到了广泛应用。由于集群中具有多个并行服务器,因此集群中通常通过负载均衡服务器实现各个服务器的负载均衡。现有技术的负载均衡方法基于负载均衡服务器,当负载均衡服务器接收到客户端发送的第一次请求信息时,根据负载均衡算法为该客户端分配一服务器,以响应该客户端的请求,并粘连该客户端与该服务器,即建立该客户端与该服务器的长连接,使得该客户端后续的请求信息均发送到该服务器执行。但是,当后续该客户端发起请求时,该服务器可能负载相对于集群中的其他服务器的负载可能较大,而此时负载均衡服务器仍然根据建立的长连接将该客户端发起的请求发送至该服务器,导致集群的负载均衡效果较差,从而降低工作效率。
技术实现思路
本专利技术实施例提供一种负载均衡的方法及装置,以提高集群的负载均衡效果。本专利技术实施例提供了一种负载均衡的方法,所述方法包括:接收客户端发送的第一请求信息;当所述第一请求信息不包括服务器信息时,为所述客户端分配响应服务器,以用于执行所述第一请求信息;当所述响应服务器返回所述第一请求信息的响应信息时,若所述响应服务器所属的集群中除所述响应服务器以外的其他服务器中至少有一个服务器没有完成同步,则设置所述响应服务器为所述客户端的指定服务器。对应地,本专利技术实施例还提供了一种负载均衡的装置,所述装置包括:第一请求信息接收单元,用于接收客户端发送的第一请求信息;响应服务器分配单元,当所述第一请求信息不包括服务器信息时,用于为所述客户端分配响应服务器,以用于执行所述第一请求信息;指定服务器设置单元,当所述响应服务器返回所述第一请求信息的响应信息时,若所述响应服务器所属的集群中除所述响应服务器以外的其他服务器中至少有一个服务器没有完成同步,则用于设置所述响应服务器为所述客户端的指定服务器。本专利技术实施例提出了一种负载均衡的方法及装置,在建立客户端与服务器粘连之前,先判断服务器所属集群中除服务器以外的其他服务器是否完成同步,当其他服务器完成同步时建立客户端与服务器粘连,从而提高了集群中服务器的负载均衡效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,并不构成对本专利技术的限定。在附图中:图1是本专利技术第一实施例提供的一种负载均衡的方法的实现流程图;图2是本专利技术第二实施例提供的一种负载均衡的装置的结构示意图;图3是本专利技术第二实施例中的负载均衡装置的各个部分之间的交互过程示意图;图4是本专利技术第二实施例中的负载均衡装置的各个部分之间的交互过程示意图。具体实施方式下面结合附图及具体实施例对本专利技术进行更加详细与完整的说明。可以理解的是,此处所描述的具体实施例仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。图1是本专利技术第一实施例提供的一种负载均衡的方法的实现流程图。本专利技术实施例提供的方法可以由本专利技术实施例提供的提供信息装置来执行,该装置可以由软件和/或硬件来实现。如图1所示,本专利技术实施例提供的方法包括:步骤101、接收客户端发送的第一请求信息。负载均衡服务器接收客户端发送的第一请求信息,即接收客户端发送的HTTP请求报文。负载均衡服务器用于连接客户端和服务端,以将客户端的请求信息分配到待响应请求信息的服务器中。例如,Nginx为轻量级的负载均衡服务,它能够按照轮询、IP哈希、URL哈希或权重等多种方式对后端服务器做负载均衡。步骤102、当所述第一请求信息不包括服务器信息时,为所述客户端分配响应服务器,以用于执行所述第一请求信息。服务端为集群,其中集群中的各个服务器为并行服务器,它们可以为使用同一组应用程序的大量用户提供服务。集群中每个服务器都可以承担一定的处理负载,并且负载均衡服务器可以实现处理负载在集群中服务器之间的动态分配,以实现负载均衡。当第一请求信息中不包括服务器信息时,即发送所述第一请求信息的客户端没有连接的服务器时,负载均衡服务器采用调度算法在集群中为第一请求信息分配一个服务器作为所述客户端的响应服务器,以响应第一请求信息。例如,第一请求信息对应的HTTP请求报文首部中不包括服务器信息时,负载均衡服务器使用轮叫调度算法计算出集群中待响应第一请求信息的响应服务器的标号(Identity,ID),并将该响应服务器的ID添加到第一请求信息对应的HTTP请求报文首部,使得第一请求信息能够发送到响应服务器中。响应服务器接收第一请求信息后,处理所述第一请求信息,并且将第一请求信息的响应结果同步到响应服务器所属集群中除响应服务器以外的其他服务器中。例如,响应服务器在执行第一请求信息时,修改了数据库的内容,相对应的位于响应服务器的缓存中也进行了修改,然而响应服务器所属集群中除响应服务器以外的其他服务器的缓存没有进行相应的修改,即其他服务器的缓存与数据库内容不一致。为了使得其他服务器的缓存与数据库内容一致,其他服务器均需同步所述第一请求信息的响应结果。具体的,事件监听器将监听到的响应服务器中的缓存内容变化事件保存到事件队列中,并且保存时从当前线程变量中取出所述客户端的ID作为关键字。定时的从事件队列中将待同步的事件取出并通知其他节点。优选的,将同一客户端的所有待同步事件同时打包取出,以同时完成同一客户端的待同步事件。步骤103、当所述响应服务器返回所述第一请求信息的响应信息时,若所述响应服务器所属的集群中除所述响应服务器以外的其他服务器中至少有一个服务器没有完成同步,则设置所述响应服务器为所述客户端的指定服务器。当响应服务器完成第一请求信息之后,响应服务器向客户端返回第一请求信息的响应信息,此时需要判断响应服务器所属集群中除响应服务器外的其他节点是否均完成同步,如果其他服务器中所有服务器均完成同步则集群中每个服务器均与第一请求信息的响应结果一致,客户端后续向集群发送HTTP请求报文时,集群中任意一个服务器均能够执行HTTP请求报文,此时不需要建立客户端与响应服务器的连接;如果其他服务器中至少有一个服务器没有完成同步,则客户端后续向集群发送请求信息时,集群中其他节点不能够执行HTTP请求报文,即客户端的后续请求仍然需要响应服务器执行,故需要设置响应服务器为客户端的指定服务器。设置响应服务器为所述客户端的指定服务器,即建立客户端与响应服务器的连接,使得该客户端后续的请求信息均发送到响应服务器执行。设置所述响应服务器为所述客户端的指定服务器,包括:向所述客户端发送连接信息,以连接所述客户端和所述响应服务器。可选的,第一实施例中所述连接信息为cookie。例如,响应服务器返回第一请求信息的响应信息且其他服务器没有全部完成同步时,从待返回客户端的HTTP响应报文首部取出响应服务器的ID,并将响应服务器的ID设置到cookie中。若客户端后续向负载均衡服务器发送请求时会同时发送cookie。所述设置所述响应服务器为所述客户端的指定服务器之后,还包括:接收所述客户端发送的第二请求信息;将所述第二请求信息转发给所述指定服务器,以使所述指定服务器执行所述第二请求信息;当所述指定服务器返回第二请求信息的响应信息时,若所述指定服务器所属的集群中除本文档来自技高网...
一种负载均衡的方法及装置

【技术保护点】
一种负载均衡的方法,其特征在于,包括:接收客户端发送的第一请求信息;当所述第一请求信息不包括服务器信息时,为所述客户端分配响应服务器,以用于执行所述第一请求信息;当所述响应服务器返回所述第一请求信息的响应信息时,若所述响应服务器所属的集群中除所述响应服务器以外的其他服务器中至少有一个服务器没有完成同步,则设置所述响应服务器为所述客户端的指定服务器。

【技术特征摘要】
1.一种负载均衡的方法,其特征在于,包括:接收客户端发送的第一请求信息;当所述第一请求信息不包括服务器信息时,为所述客户端分配响应服务器,以用于执行所述第一请求信息;当所述响应服务器返回所述第一请求信息的响应信息时,若所述响应服务器所属的集群中除所述响应服务器以外的其他服务器中至少有一个服务器没有完成同步,则设置所述响应服务器为所述客户端的指定服务器;接收所述客户端发送的第二请求信息;将所述第二请求信息转发给所述指定服务器,以使所述指定服务器执行所述第二请求信息;当所述指定服务器返回第二请求信息的响应信息时,若所述指定服务器所属的集群中除所述指定服务器以外的其他服务器每个服务器均完成同步,则删除所述客户端的所述指定服务器。2.根据权利要求1所述的方法,其特征在于,设置所述响应服务器为所述客户端的指定服务器,包括:向所述客户端发送连接信息,以连接所述客户端和所述响应服务器。3.根据权利要求1所述的方法,其特征在于,删除所述客户端的所述指定服务器,包括:删除所述第二请求信息的响应信息中的连接信息。4.根据权利要求2或3所述的方法,其特征在于,所述连接信息为cookie。5.一种负载均衡的装置,其特征在于,包括:第一请求信息接收单元,用于接收客户端发...

【专利技术属性】
技术研发人员:戴晨
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1