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)的硬 ...
【技术保护点】
一种基于交换机的负载均衡系统,其特征在于,包括:交换机、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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。