一种集群负载均衡方法和系统的制作方法

文档序号:8265593阅读:361来源:国知局
一种集群负载均衡方法和系统的制作方法
【技术领域】
[0001]本发明属于云计算中的虚拟化资源管理领域,尤其涉及一种集群负载均衡方法和系统。
【背景技术】
[0002]负载均衡(Load Balancing)是建立在现有网络结构之上,它提供了一种廉价、有效、透明的方法来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
[0003]当前服务器负载均衡分为四层(L4)服务器负载均衡和七层(L7)服务器负载均衡两种。
[0004]L4服务器负载均衡支持IPv4协议和IPv6协议,是基于流的服务器负载均衡,对报文进行逐流分发,将同一条流的报文分发给同一个服务器。L4服务器负载均衡对基于HTTP的7层业务无法做到按内容进行分发,限制了负载均衡业务的适用范围。依据转发方式,L4服务器负载均衡分为NAT方式和DR方式。
[0005]L7服务器负载均衡只支持IPv4协议,是基于内容的服务器负载均衡,对报文的承载内容进行深度解析,包括HTTP协议、RTSP协议等,根据其中的内容进行逐包分发,按既定策略将连接导向指定的服务器,实现了业务使用范围更广泛的服务器负载均衡。L7服务器负载均衡仅支持NAT方式。
[0006]图1所示为L4层NAT服务器负载均衡的结构示意图。
[0007]实现原理是客户端将到VSIP的请求发送给服务器群前端的负载均衡设备,负载均衡设备上的虚服务接收客户端请求,依次根据持续性功能、ACL策略、调度算法,选择真实的服务器,再通过网络地址转换,用真实服务器地址重写请求报文的目标地址后,将请求发送给选定的真实服务器;真实服务器的响应报文通过负载均衡设备时,报文的源地址被还原为虚服务的VSIP,再返回给客户端,完成整个负载调度过程。
[0008]图2所示为L7服务器负载均衡的结构示意图。
[0009]实现原理是客户端首先与服务器群前端的负载均衡设备建立TCP连接,然后将到VSIP的请求发送给负载均衡设备。负载均衡设备上的虚服务接收客户端请求,依次根据持续性功能、实服务组匹配策略、调度算法,选择真实的服务器。然后,负载均衡设备先用客户端地址与真实服务器建立TCP连接,再用真实服务器地址重写客户端请求报文的目标地址,并将请求发送给真实服务器。真实服务器的响应报文通过负载均衡设备时,报文的源地址被还原为虚服务的VSIP,再返回给客户端,完成整个负载调度过程。
[0010]目前针对服务器负载均衡的算法有很多,包括轮循算法、最少连接算法、响应时间算法、散列算法、最少连接失误算法、以及链路带宽算法等等,此外实际服务器(RealServer)可以被分配不同的加权值来调整被分配的流量。比如性能高大的大型服务器可配置较大的加权值,而为性能较低的小型服务器设置较小的加权值。同时为了避免服务器因过载而崩溃,指定实际服务器的最大连接阈值来避免服务器过载。任何服务器可被指定为另一台服务器的备份服务器或者溢出服务器,来保证应用的可用性。
[0011]轮循算法(Round Robin):每一次网络请求轮流分配给内部的每台服务器,从I到N然后重新开始,这种算法比较适合服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。
[0012]最少连接算法(Least Connect1n):最少连接数均衡算法对内部有负载的每一台服务器都有一个数据记录,记录的内容是当前该服务器正在处理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加符合实际情况,负载更加均衡。
[0013]加权法(Weighted):加权方法只能与其他方法合用,是他们的一个很好的补充。加权算法根据节点的优先级或当前的负载状况(即权值)来构成负载均衡的多优先级队列,队列中的每个等待处理的连接都具有相同处理等级,这样在同一个队列里可以按照前面的轮循法或者最少连接法进行均衡,而队列之间按照优先级的先后顺序进行均衡处理。在这里权值是基于各节点能力的一个估计值。
[0014]以上三种方法是现在使用较多的负载均衡方法,当前负载均衡结构存在以下几个问题:
[0015]1、均衡策略一经定义很难再改。
[0016]现有的负载均衡结构中,一旦确定了使用某个负载均衡算法,在该系统运行过程中是不会再改变的,直到系统重新启动或重新定义之后才会重新选择负载均衡算法,该方式的问题在于灵活性不足。
[0017]2、客户端请求未进行分类。
[0018]现有算法未对客户端请求进行分类,只是区别是HTTP请求还是TCP请求等,因为服务器集群需要对请求进行响应,但是,对于读写请求和计算请求未进行有效分类,单纯的使用单一算法分类,容易出现服务不可用的问题。

【发明内容】

[0019]鉴于以上,本发明提出一种集群负载均衡方法和系统,以解决现有技术的至少一个问题。
[0020]根据本发明一方面,提出一种集群负载均衡系统,包括:主机,对客户端的请求进行分类,根据分类后的各个请求匹配负载均衡算法,从服务器获取各个负载均衡算法需要的数据,根据获取的数据计算匹配的服务器,将请求分配给该服务器;服务器,将各个负载均衡算法需要的数据返回给主机,并接收主机分配的请求。
[0021]进一步,服务器中设置代理程序,通过代理程序与主机交互。
[0022]进一步,主机至少包括两个,其中一个主机作为另一个主机的备份。
[0023]进一步,服务器检测集群服务器的运行状况,当发现集群中某个服务器发生宕机时,由就近的服务器向主机反馈。
[0024]进一步,客户端的请求包括读请求、写请求和计算请求。
[0025]进一步,对于读请求,负载均衡算法需要的数据包括服务器最快响应时间、服务器读的速度和/或服务器负载量,根据上述数据计算得出最快响应服务器,该服务器为匹配的服务器。
[0026]进一步,对于写请求,负载均衡算法需要的数据包括服务器最快响应时间、服务器写速度和/或服务器同步速度,根据上述数据计算得出最快响应服务器,该服务器为匹配的服务器。
[0027]进一步,对于计算请求,负载均衡算法需要的数据包括服务器的负载、服务器响应时间、内存使用率和/或磁盘转速,根据上述数据计算得出最优服务器,该服务器为匹配的服务器。
[0028]根据本发明另一方面,还提出一种集群负载均衡方法,包括:对客户端的请求进行分类;根据分类后的各个请求匹配负载均衡算法;从服务器获取各个负载均衡算法需要的数据;根据获取的数据计算匹配的服务器;将请求分配给该服务器。
[0029]进一步,客户端的请求包括读请求、写请求和计算请求。
[0030]进一步,对于读请求,负载均衡算法需要的数据包括服务器最快响应时间、服务器读的速度和/或服务器负载量,根据上述数据计算得出最快响应服务器,该服务器为匹配的服务器。
[0031]进一步,对于写请求,负载均衡算法需要的数据包括服务器最快响应时间、服务器写速度和/或服务器同步速度,根据上述数据计算得出最快响应服务器,该服务器为匹配的服务器。
[0032]进一步,对于计算请求,负载均衡算法需要的数据包括服务器的负载、服务器响应时间、内存使用率和/或磁盘转速,根据上述数据计算得出最优服务器,该服务器为匹配的服务器。
[0033]本发明通过有效地分配请求和更高效的响应用户请求来提高服务器的利用率和服务质量。
【附图说明】
[0034]此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0035]图1所示为L4层NAT服务器负载均衡的结构示意图。
[0036]图2所示为L7服务器负载均衡的结构示意图。
[0037]图3所示为本发明一实施例中的集群负载均衡系统的结构示意图。
[0038]图4所示为本发明另一实施例中的集群负载均衡系统的结构示意图。
[0039]图5所示为本发明一实施例中的集群负载均衡方法的流程示意图。
【具体实施方式】
[0040]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置和数值不限制本发明的范围。
[0041]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0042]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1