一种负载均衡的方法、客户端、注册服务器和系统技术方案

技术编号:12668303 阅读:85 留言:0更新日期:2016-01-07 12:36
本发明专利技术公开了一种负载均衡的方法、客户端、注册服务器和系统。所述负载均衡的方法包括:客户端与注册服务器建立长连接,当需要调用应用服务器时,到注册服务器上获取应用服务器的节点信息,所述节点信息包括应用服务器的权重;根据获取的应用服务器的节点信息中的权重做负载均衡,将所述请求信息直接发送到对应的应用服务器。本发明专利技术的技术方案能够根据应用服务器的连接/断开状态提供动态的负载均衡,且能够区分不同应用服务器的性能差异并且对请求的处理不需要注册服务器中转,减少了网络传输的节点,提高了传输效率,也减少了网络故障的几率。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种负载均衡的方法、客户端、注册服务器 和系统。
技术介绍
负载均衡(Load Balance),是由多台服务器以对称的方式组成一个服务器集合, 每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过 某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接 收到请求的服务器独立地回应客户的请求。 最早的负载均衡技术是通过DNS (Domain Name Server,域名服务器)来实现的,在 DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而 使得不同的客户访问不同的服务器,达到负载均衡的目的。但该DNS负载均衡方案采用的 是简单轮循的负载算法,且没有考虑容错,不能区分服务器之间的差异,不能反映服务器的 当前运行状态。 另一种是反向代理负载均衡解决方案,把将来自internet上的连接请求以反向 代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。 但该反向代理方式由代理服务器转发,增加了代理服务器的负担,而且网络传输多了一个 节点,增加了网络延迟,也增加了出现故障的几率。
技术实现思路
为了解决上述问题,或者至少部分地解决上述问题,本专利技术提供了一种负载均衡 的方法、客户端、注册服务器和系统。 为达到上述目的,本专利技术的技术方案是这样实现的: -方面,本专利技术公开了一种负载均衡的方法,所述方法包括: 与注册服务器建立长连接,当需要调用应用服务器时,到注册服务器上获取应用 服务器的节点信息;所述节点信息为应用服务器在注册服务器上注册的节点信息,该节点 信息包括应用服务器的权重; 根据获取的应用服务器的节点信息中的权重,计算出虚拟节点; 根据当前注册的所有应用服务器的虚拟节点做负载均衡,为请求信息选取出一台 虚拟节点; 将所述请求信息直接发送到选取的虚拟节点对应的应用服务器。 -方面,本专利技术还公开了一种负载均衡的方法,所述方法包括: 与注册的应用服务器保持长连接,记录应用服务器的节点信息,所述节点信息包 括应用服务器的权重; 与客户端建立长连接,当客户端需要调用应用服务器时,将应用服务器的节点信 息发送给客户端,由客户端根据应用服务器的节点信息中的权重,计算出虚拟节点,并由客 户端根据当前注册的所有应用服务器的虚拟节点做负载均衡,为请求信息选取出一台虚拟 节点,然后由客户端将所述请求信息直接发送到选取的虚拟节点对应的应用服务器。 另一方面,本专利技术还公开了一种负载均衡的客户端,所述客户端包括: 节点信息获取单元,适用于与注册服务器建立长连接,当需要调用应用服务器时, 到注册服务器上获取应用服务器的节点信息,所述节点信息为应用服务器在注册服务器上 注册的节点信息,该节点信息包括应用服务器的权重;并且,当新增或者移除应用服务器 时,重新获取注册服务器上的节点信息; 虚拟节点计算单元,适用于根据获取的应用服务器的节点信息中的权重,计算出 虚拟节点; 负载均衡单元,适用于根据当前注册的所有应用服务器的虚拟节点做负载均衡, 为请求信息选取出一台虚拟节点; 请求发送单元,适用于将所述请求信息直接发送到选取的虚拟节点对应的应用服 务器。 再一方面,本专利技术还公开了一种负载均衡的注册服务器,所述注册服务器包括: 记录单元,适用于与注册的应用服务器保持长连接,记录应用服务器的节点信息, 所述节点信息包括应用服务器的权重; 发送单元,适用于与客户端建立长连接,当客户端需要调用应用服务器时,将应用 服务器的节点信息发送给客户端,由客户端根据应用服务器的节点信息中的权重,计算出 虚拟节点,并由客户端根据当前注册的所有应用服务器的虚拟节点做负载均衡,为请求信 息选取出一台虚拟节点,然后由客户端将所述请求信息直接发送到选取的虚拟节点对应的 应用服务器; 通知单元,适用于当新增或者移除应用服务器时通知客户端,由客户端重新获取 节点信息并根据当前注册的所有应用服务器的虚拟节点重新做负载均衡。 又一方面,本专利技术还公开了一种负载均衡的系统,所述系统包括:至少一个如上所 述的客户端、如上所述的注册服务器和至少一组应用服务器。 本专利技术提供的负载均衡的方法、客户端、注册服务器和系统的技术方案,一方面能 够根据应用服务器的状态(连接/断开)提供动态的负载均衡,另一方面能够区分不同应 用服务器的性能差异做负载均衡;再一方面客户端只需要获取应用服务器的节点信息,对 请求的处理不需要注册服务器中转,能够根据不同的协议做七层负载。相比于目前的DNS 负载均衡,提供了权重的支持,并具有高可用性,能够及时发现应用服务器的增加或者删 除,能够反映服务器的当前运行状态,且能够区分应用服务器之间的差异;相比较反向代 理的负载均衡来说,不必通过代理服务器进行中转,减少了网络传输的节点,提高了传输效 率,也减少了网络故障的几率。【附图说明】 图1是本专利技术实施例中的一种负载均衡方法的流程图; 图2是本专利技术实施例中的一种负载均衡客户端的结构示意图; 图3是本专利技术实施例中的另一种负载均衡方法的流程图; 图4是本专利技术实施例中的一种负载均衡注册服务器的结构示意图; 图5是采用本专利技术提供的负载均衡方法的一个具体流程图; 图6是本专利技术实施例中的一种负载均衡系统的示意图。【具体实施方式】 为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方 式作进一步地详细描述。 图1是本专利技术实施例中的一种负载均衡方法的流程图。如图1所示,所述方法包 括: S11,客户端与注册服务器建立长连接,当需要调用应用服务器时,客户端到注册 服务器上获取应用服务器的节点信息;所述节点信息为应用服务器在注册服务器上注册的 节点信息,该节点信息包括应用服务器的权重。 在本专利技术的实施例中,应用服务器需要根据服务器的性能,在注册时根据服务器 的能力不同计算出不同的权值。比如1核CPU (Central Processing Unit,中央处理器),4G 内存权值为1,那么一台16核CPU,64G内存的服务器权值就是256(16核/1核*64G/4G = 256)。当然,这个权重可以通过手工进行设置修改。 在本专利技术的一个实施例中,当新增或者移除应用服务器时,客户端重新获取注册 服务器上的节点信息,并根据当前注册的所有应用服务器的虚拟节点重新做负载均衡。 S12,客户端根据获取的应用服务器的节点信息中的权重,计算出虚拟节点。 在本专利技术的实施例中,客户端根据应用服务当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种负载均衡的方法,其特征在于,所述方法包括:与注册服务器建立长连接,当需要调用应用服务器时,到注册服务器上获取应用服务器的节点信息;所述节点信息为应用服务器在注册服务器上注册的节点信息,该节点信息包括应用服务器的权重;根据获取的应用服务器的节点信息中的权重,计算出虚拟节点;根据当前注册的所有应用服务器的虚拟节点做负载均衡,为请求信息选取出一台虚拟节点;将所述请求信息直接发送到选取的虚拟节点对应的应用服务器。

【技术特征摘要】

【专利技术属性】
技术研发人员:李春雷
申请(专利权)人:北京新媒传信科技有限公司
类型:发明
国别省市:北京;11

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

1