一种基于交换机的负载均衡系统及方法技术方案

技术编号:17883659 阅读:72 留言:0更新日期:2018-05-06 04:16
本发明专利技术公开了一种基于交换机的负载均衡系统及方法,该系统采用基于交换机的负载均衡架构,根据预设均衡条件确定来自用户端的请求数据包分配的相同的下一跳地址,并将交换机接收到的请求数据包根据确定的相同的下一跳地址发送至前端调度服务器,再转发至应用服务器,从而实现了负载均衡,其中前端调度服务器与应用服务器的个数均大于1。在本发明专利技术中,由于交换机转发为纯硬件转发,端口均为线速,所以交换机做负载均衡相较于LVS性能更好,并且避免了故障切换时复杂的主备联系机制,提高了资源的利用率,扩展性强,同时还解决了传统主备LVS架构服务集群的负载过大的问题。

A load balancing system and method based on switch

The present invention discloses a load balancing system and method based on a switch, which uses a load balancing architecture based on a switch to determine the same next hop address assigned by the request data packet from the user side according to the preset equilibrium condition, and to request data packets received by the switch according to the determined same next. The jump address is sent to the front end scheduling server and then forwarded to the application server, thus realizing the load balancing, in which the number of the front end scheduling server and the application server is greater than 1. In this invention, because the switch is forwarded to pure hardware and the port is line speed, the switch is better in load balancing than LVS, and avoids the complex main connection mechanism when the fault is switched. It improves the utilization of resources and has strong extensibility, and also solves the traditional main LVS architecture service cluster. A problem with too much load.

【技术实现步骤摘要】
一种基于交换机的负载均衡系统及方法
本专利技术涉及网络通信
,尤其涉及一种基于交换机的负载均衡系统及方法。
技术介绍
LVS是LinuxVirtualServer的简写,是一个虚拟的服务器集群系统,采用IP负载均衡技术和基于内容请求分发技术实现的负载均衡。IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(NAT,NetworkAddressTranslation)将一组服务器构成一个高性能的、高可用的虚拟服务器,称之为VS/NAT技术(VirtualServerviaNetworkAddressTranslation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,还提出了通过直接路由实现虚拟服务器的方法VS/DR(VirtualServerviaDirectRouting)和通过IP隧道实现虚拟服务器的方法VS/TUN(VirtualServerviaIPTunneling),它们可以极大地提高系统的伸缩性。VS/NAT、VS/DR和VS/TUN技术是LVS集群中实现的三种IP负载均衡技术。除此之外,还有一种名为“FullNat”的负载均衡技术。如图1所示,采用IP负载均衡技术的LVS集群服务通过分层方式来提供服务。1、负载调度层:它位于整个集群系统的最前端,有两台(NAT、DR或TUN方式)或者两台以上(FullNat方式)的负载调度器(即前端调度服务器,或者简称调度器)组成。2、后端应用服务层:实际是由一组运行应用服务的机器组成。后端应用服务层的机器(简称Realserver)的硬件性能并不需要完全统一,可以各异,因为前端调度服务器可以人为地定义调度机制去调度后端应用服务器。其工作原理如下:当有大量的数据需要访问某种应用服务(WWW服务、DNS服务)时,数据首先经过负载调度器。负载调度器通过各种调度算法,比如,轮询调度算法、加权调度算法、ECP算法等,将数据有目标地发送到多台后端应用服务器,使得后端应用服务器比较有效地、均衡地提供服务。当后端应用服务器宕机,或者不能提供服务的时候,负载调度器也能通过检测机制(如Keepalive)发现,然后将不能提供服务的后端应用服务器剔除。现有的LVS集群服务可以有效地提供稳定、可靠的服务,但同时也带来了如下问题:1、LVS集群服务系统中前端的调度服务器都是主备架构,也就是说,只有一台服务器能提供服务,剩余的一台或者多台调度服务器都是备用的,并且主备架构的联系机制也是比较复杂的。当主调度服务器出现异常不能提供服务,主备服务器需要有各种机制去发现主调度器宕机以后,备用调度服务器接管主调度服务器的角色,从而使得主备调度服务器的角色不能充分利用资源,备用调度服务器是一种长时间等待的角色,不能主动提供服务器,导致资源浪费。2、当出现大规模的SYNFlood攻击的时候,前端调度服务器提供服务的只有一台主调度服务器,不能很好的抵抗恶意的大量访问,会出现主调度服务器负载过大的问题,甚至会造成主调度服务器不能对外提供服务的情况发生。3、主备架构或者一主多备架构的负载调度服务器扩展性比较差,不能同时提供两个或者两个上的调度服务器提供服务。也就是说,现有LVS集群服务系统存在资源浪费、抗干扰能力差以及扩展性差等问题。
技术实现思路
本专利技术实施例提供了一种基于交换机的负载均衡系统及方法,用以解决现有LVS集群服务系统存在资源浪费、抗干扰能力差以及扩展性差的问题。本专利技术实施例提供了一种基于交换机的负载均衡系统,包括:交换机、N台前端调度服务器、M台应用服务器,其中,N和M均为大于1的整数;所述交换机,用于接收用户端发送的请求数据包,并根据预设均衡条件确定所述请求数据包分配的相同的下一跳地址,根据确定的所述下一跳地址,从等价路由ECMP路由表项中选取与所述下一跳地址相对应的路径条目,并将所述请求数据包按照所选的所述路径条目对应的通信链路发送至相应的所述前端调度服务器,以由该前端调度服务器将接收到的所述请求数据包发送至相应的所述应用服务器,经由所述应用服务器将所述请求数据包的响应结果返回给所述用户端;所述前端调度服务器,用于将接收到的所述请求数据包发送至相应的所述应用服务器;所述应用服务器,用于响应所述前端调度服务器发送的所述请求数据包,并将相应的响应结果返回给所述用户端;所述预设均衡条件:芯片计算的哈希值相同、ECMP路由表项中各路径条目的下一跳个数的总数相同、相同偏移的下一跳存储的出口信息相同;其中,所述交换机接收用户端发送的请求数据包,这一操作,还用于抵抗SYNFlood攻击。进一步地,所述交换机,还用于在接收用户端发送的请求数据包之前,获取与各所述前端调度服务器之间的通信链路的链路状态信息,并根据所述链路状态信息更新所述ECMP路由表项中的各路径条目对应的链路信息,以及向各所述前端调度服务器广播更新后的链路状态信息;所述前端调度服务器,还用于发送和接收所述链路状态信息。进一步地,所述交换机,还用于将所述ECMP路由表项中各路径条目进行取模计算,并根据更新后的所述链路状态信息确定是否有与所述前端调度服务器之间的通信链路的增减变化,若确定任一条与所述前端调度服务器之间的通信链路断开后,则保持所述ECMP路由表项中其他通信链路对应的所述路径条目的取模不变,并将断开的通信链路的流量重新进行哈希计算,分配到其他的通信链路上;若确定所述ECMP路由表项中通信链路对应的路径条目增多,则将活跃的通信链路上的部分流量分配至新增通信链路上。进一步地,本专利技术实施例还提供了基于上述负载均衡系统的负载均衡方法,该方法包括:交换机接收用户端发送的请求数据包,并根据预设均衡条件确定所述请求数据包分配的相同的下一跳地址;根据确定的所述下一跳地址,从等价路由ECMP路由表项中选取与所述下一跳地址相对应的路径条目;将所述请求数据包按照所选的所述路径条目对应的通信链路发送至相应的所述前端调度服务器,以由该前端调度服务器将接收到的所述请求数据包发送至相应的所述应用服务器,经由所述应用服务器将所述请求数据包的响应结果返回给所述用户端;所述预设均衡条件:芯片计算的哈希值相同、ECMP路由表项中各路径条目的下一跳个数的总数相同、相同偏移的下一跳存储的出口信息相同;其中,所述交换机接收用户端发送的请求数据包,这一步骤,还用于抵抗SYNFlood攻击。进一步地,所述在接收用户端发送的请求数据包之前,所述方法还包括:获取与各所述前端调度服务器之间的通信链路的链路状态信息;根据所述链路状态信息更新所述ECMP路由表项中的各路径条目对应的链路信息,并向各所述前端调度服务器广播更新后的链路状态信息。进一步地,所述方法还包括:将所述ECMP路由表项中各路径条目进行取模计算;根据更新后的所述链路状态信息确定是否有与所述前端调度服务器之间的通信链路的增减变化,若确定任一条与所述前端调度服务器之间的通信链路断开后,则保持所述ECMP路由表项中其他通信链路对应的所述路径条目的取模不变,并将断开的通信链路的流量重新进行哈希计算,分配到其他的通信链路上;若确定所述ECMP路由表项中通信链路对应的路径条目增多,则将活跃的通信链路上的部分流量分配至新增通信链路上。进一步地,本专利技术本文档来自技高网
...
一种基于交换机的负载均衡系统及方法

【技术保护点】
一种基于交换机的负载均衡系统,其特征在于,包括:交换机、N台前端调度服务器、M台应用服务器,其中,N和M均为大于1的整数;所述交换机,用于接收用户端发送的请求数据包,并根据预设均衡条件确定所述请求数据包分配的相同的下一跳地址,根据确定的所述下一跳地址,从等价路由ECMP路由表项中选取与所述下一跳地址相对应的路径条目,并将所述请求数据包按照所选的所述路径条目对应的通信链路发送至相应的所述前端调度服务器,以由该前端调度服务器将接收到的所述请求数据包发送至相应的所述应用服务器,经由所述应用服务器将所述请求数据包的响应结果返回给所述用户端;所述前端调度服务器,用于将接收到的所述请求数据包发送至相应的所述应用服务器;所述应用服务器,用于响应所述前端调度服务器发送的所述请求数据包,并将相应的响应结果返回给所述用户端;所述预设均衡条件:芯片计算的哈希值相同、ECMP路由表项中各路径条目的下一跳个数的总数相同、相同偏移的下一跳存储的出口信息相同;其中,所述交换机接收用户端发送的请求数据包,这一操作,还用于抵抗SYN Flood攻击。

【技术特征摘要】
1.一种基于交换机的负载均衡系统,其特征在于,包括:交换机、N台前端调度服务器、M台应用服务器,其中,N和M均为大于1的整数;所述交换机,用于接收用户端发送的请求数据包,并根据预设均衡条件确定所述请求数据包分配的相同的下一跳地址,根据确定的所述下一跳地址,从等价路由ECMP路由表项中选取与所述下一跳地址相对应的路径条目,并将所述请求数据包按照所选的所述路径条目对应的通信链路发送至相应的所述前端调度服务器,以由该前端调度服务器将接收到的所述请求数据包发送至相应的所述应用服务器,经由所述应用服务器将所述请求数据包的响应结果返回给所述用户端;所述前端调度服务器,用于将接收到的所述请求数据包发送至相应的所述应用服务器;所述应用服务器,用于响应所述前端调度服务器发送的所述请求数据包,并将相应的响应结果返回给所述用户端;所述预设均衡条件:芯片计算的哈希值相同、ECMP路由表项中各路径条目的下一跳个数的总数相同、相同偏移的下一跳存储的出口信息相同;其中,所述交换机接收用户端发送的请求数据包,这一操作,还用于抵抗SYNFlood攻击。2.如权利要求1所述的负载均衡系统,其特征在于,所述交换机,还用于在接收用户端发送的请求数据包之前,获取与各所述前端调度服务器之间的通信链路的链路状态信息,并根据所述链路状态信息更新所述ECMP路由表项中的各路径条目对应的链路信息,以及向各所述前端调度服务器广播更新后的链路状态信息;所述前端调度服务器,还用于发送和接收所述链路状态信息。3.如权利要求2所述的负载均衡系统,其特征在于,所述交换机,还用于将所述ECMP路由表项中各路径条目进行取模计算,并根据更新后的所述链路状态信息确定是否有与所述前端调度服务器之间的通信链路的增减变化,若确定任一条与所述前端调度服务器之间的通信链路断开后,则保持所述ECMP路由表项中其他通信链路对应的所述路径条目的取模不变,并将断开的通信链路的流量重新进行哈希计算,分配到其他的通信链路上;若确定所述ECMP路由表项中通信链路对应的路径条目增多,则将活跃的通信链路上的部分流量分配至新增通信链路上。4.一种基于如权利要求1~3任一项所述的负载均衡系统的负载均衡方法,其特征在于,该方法包括:交换机接收用户端发送的请求数据包,并根据预设均衡条件确定所述请求数据包分配的相同的下一跳地址;根据确定的所述下一跳地址,从等价路由ECMP路由表项中选取与所述下一跳地址相对应的路径条目;将所述请求数据包按照所选的所述路径条目对应的通信链路发送至相应的所述前端调度服务器,以由该前端调度服务器将接收到的所述请求数据包发送至相应的所述应用服务器,经由所述应用服务器将所述请求数据包的响应结果返回给所述用户端;所述预设均衡条件:芯片计算的哈希值相同、ECMP路由表项中各路径条目的下一跳个数的总数相同、相同偏移的下一跳存储的出口信息相同;其中,所述交换机接收用户...

【专利技术属性】
技术研发人员:苗辉庄吴敏李逸骏
申请(专利权)人:贵州白山云科技有限公司
类型:发明
国别省市:贵州,52

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

1