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

文档序号:33029505发布日期:2023-01-20 20:26阅读:22来源:国知局
1.本技术涉及计算机
技术领域
:,特别涉及一种负载均衡系统。
背景技术
::2.随着互联网快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长,特别是对数据中心、大型企业以及门户网站等的访问,其访问流量甚至达到了10gb/s的级别。3.这些都对应用服务提出了高性能和高可靠性的需求。相对于网络技术的发展,服务器处理速度和内存访问速度的增长却远远低于网络带宽和应用服务的增长,单个web网站服务器计算能力,往往难以支持现有的互联网大流量。4.当前常见的网站服务器采用高可用性集群(ha,highlyavailable)主备方式部署,通常主网站服务器对外服务,在主服务器宕机的情况下,实现系统流量向备网站服务器的切换,从而实现高可用。但每次只能一台服务器对外提供服务,计算能力受单台服务器硬件资源限制,无法应对持续增长的业务请求,同时备网站服务器平常不处理业务请求,造成资源浪费。技术实现要素:5.有鉴于此,提供该
发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。6.本技术的目的在于提供一种负载均衡系统,可以满足互联网大流量的访问需求。7.为实现上述目的,本技术有如下技术方案:8.本技术实施例提供了一种负载均衡系统,包括:客户端模块、硬件路由器模块、3层软路由模块、4层网站服务器负载均衡模块和网站应用服务模块;9.所述客户端模块用于发送携带网际互连协议地址的请求报文给所述硬件路由器模块;10.所述硬件路由器模块用于接收所述携带网际互连协议地址的请求报文,并根据所述携带网际互连协议地址的请求报文中的网际互连协议地址,将所述请求报文发送至所述3层软路由模块;11.所述3层软路由模块用于将所述请求报文路由至所述4层网站服务器负载均衡模块;12.所述4层网站服务器负载均衡模块用于将所述请求报文组装成传输控制协议报文,发送至所述网站应用服务模块;13.所述网站应用服务模块用于接收所述传输控制协议报文,进行解析并返回所述请求报文对应的响应报文至所述客户端模块。14.在一种可能的实现方式中,所述系统还包括:健康检查模块;15.所述健康检查模块用于定时探测所述4层网站服务器负载均衡模块状态,当未收到对应的网站服务器的响应或收到与预设信息不一致的信息时,则将所述对应的网站服务器的网际互连协议地址从路由路径中删除。16.在一种可能的实现方式中,所述健康检查模块还用于定时探测所述删除网际互连协议地址的对应的网站服务器的状态,当收到所述对应的网站服务器与所述预设信息一致的信息时,则将所述对应的网站服务器的网际互连协议地址添加到所述路由路径中。17.在一种可能的实现方式中,所述根据所述携带网际互连协议地址的请求报文中的网际互连协议地址,将所述请求报文发送至所述3层软路由模块,包括:18.根据所述请求报文中的网际互连协议地址进行哈希得到哈希值,根据所述哈希值从所述3层软路由模块中的等价多路径中选择对应的路径进行路由。19.在一种可能的实现方式中,所述健康检查模块使用开放最短路径优先协议与所述硬件路由器之间进行通信。20.在一种可能的实现方式中,所述定时探测所述4层网站服务器负载均衡模块状态,包括:21.定时通过超文本传输协议请求访问网站服务器端口。22.在一种可能的实现方式中,所述返回所述请求报文对应的响应报文至所述客户端模块,包括:23.将所述响应报文通过所述4层网站服务器负载均衡模块、所述3层软路由模块和所述硬件路由器模块传递至所述客户端模块。24.在一种可能的实现方式中,所述预设信息包括预设网站服务器内存使用信息和输入输出信息。25.在一种可能的实现方式中,所述请求报文包括超文本传输协议请求报文。26.在一种可能的实现方式中,所述健康检查模块还用于所述当未收到对应的网站服务器的响应或收到与预设信息不一致的信息时,则发出提醒信号。27.与现有技术相比,本技术实施例具有以下有益效果:28.本技术实施例提供了一种负载均衡系统,包括:客户端模块、硬件路由器模块、3层软路由模块、4层网站服务器负载均衡模块和网站应用服务模块;客户端模块用于发送携带网际互连协议地址的请求报文给硬件路由器模块;硬件路由器模块用于接收携带网际互连协议地址的请求报文,并根据携带网际互连协议地址的请求报文中的网际互连协议地址,将请求报文发送至3层软路由模块;3层软路由模块用于将请求报文路由至4层网站服务器负载均衡模块;4层网站服务器负载均衡模块用于将所述请求报文组装成传输控制协议报文,发送至网站应用服务模块;网站应用服务模块用于接收传输控制协议报文,进行解析并返回请求报文对应的响应报文至客户端模块。从而实现多台网站服务器集群同时向外提供负载均衡服务,网站服务器以集群的方式横向扩展计算资源,不再受限于单台网站服务器所在物理服务器硬件资源限制,在互联网大流量场景下,实现高可用4层负载均衡系统,减少对硬件负载均衡设备的依赖,提升负载均衡系统的可靠、灵活性,产生一定的经济效益和社会效益。附图说明29.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。30.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。31.图1示出了经研究发现的一种传统的网站服务器部署系统的示意图;32.图2示出了本技术实施例提供的一种负载均衡系统的示意图;33.图3示出了本技术实施例提供的一种负载均衡系统各模块之间交互的示意图。具体实施方式34.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本技术的具体实施方式做详细的说明。35.在下面的描述中阐述了很多具体细节以便于充分理解本技术,但是本技术还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施例的限制。36.正如
背景技术
:中的描述,随着互联网快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长,特别是对数据中心、大型企业以及门户网站等的访问,其访问流量甚至达到了10gb/s的级别。37.大部分网站(尤其电子商务等网站)都需要提供不间断24小时服务,任何服务中断或通信中的关键数据丢失都会造成直接的商业损失。这些都对应用服务提出了高性能和高可靠性的需求。相对于网络技术的发展,服务器处理速度和内存访问速度的增长却远远低于网络带宽和应用服务的增长,单个web网站服务器计算能力,往往难以支持现有的互联网大流量。38.同时传统的单机模式,也往往成为网络故障点。银行业务多采用分布式架构,多台服务器通过网络设备相连组成一个服务器集群对外提供服务,服务器集群前端部署一台硬件负载均衡设备,实现对整个服务器集群的流量分发。随着云原生、devops(过程、方法与系统的统称,development和operations的组合词)等新技术兴起,硬负载均衡设备暴露出成本昂贵、迭代速度慢无法快速适配云原生弹性伸缩等新特性、难以快速融入devops部署工具链等问题,需要软负载均衡具备硬件相关高可用、高可靠能力,同时可以快速迭代集成云原生、devops相关特性,助力企业数字化转型。39.当前常见的网站服务器采用高可用性集群(ha,highlyavailable)主备方式部署,通常主网站服务器对外服务,在主服务器宕机的情况下,实现系统流量向备网站服务器的切换,从而实现高可用。但每次只能一台服务器对外提供服务,计算能力受单台服务器硬件资源限制,无法应对持续增长的业务请求,同时备网站服务器平常不处理业务请求,造成资源浪费。40.举例来说,参见图1所示,示出了经研究发现的一种传统的网站服务器部署系统的示意图,以网站服务器nginx为例进行说明,nginx采用主备ha高可用部署方式,客户端正常情况下发送的http(超文本传输协议,hypertexttransferprotocol)报文,路由器路由到主nginx并负载均衡到后端web网站服务,当主nginx出现异常宕机等情况,备nginx通过arp(地址解析协议,addressresolutionprotocol)通知路由器将请求路由到备nginx,备nginx处理客户端http请求并负载均衡到后端web服务。每次只有主或备nginx可以处理请求,通常情况下单台服务器为96cpu256g内存,当客户端请求出现、大流量情况,每秒流量高达数十gb/s,并发超过百万,单台nginx计算能力将无法承载客户端请求,造成业务瓶颈或中断。备服务器平常无业务请求,如果采用与主nginx同样计算配置,将造成极大的浪费。同时arp协议并不安全,容易实现arp欺骗,造成业务信息泄露。nginx采用ha高可用部署,无法满足企业快增长的业务流量以及降低成本、提升安全的要求。41.为了解决以上技术问题,本技术实施例提供了一种负载均衡系统,包括:客户端模块、硬件路由器模块、3层软路由模块、4层网站服务器负载均衡模块和网站应用服务模块;客户端模块用于发送携带网际互连协议地址的请求报文给硬件路由器模块;硬件路由器模块用于接收携带网际互连协议地址的请求报文,并根据携带网际互连协议地址的请求报文中的网际互连协议地址,将请求报文发送至3层软路由模块;3层软路由模块用于将请求报文路由至4层网站服务器负载均衡模块;4层网站服务器负载均衡模块用于将所述请求报文组装成传输控制协议报文,发送至网站应用服务模块;网站应用服务模块用于接收传输控制协议报文,进行解析并返回请求报文对应的响应报文至客户端模块。从而实现多台网站服务器集群同时向外提供负载均衡服务,网站服务器以集群的方式横向扩展计算资源,不再受限于单台网站服务器所在物理服务器硬件资源限制,在互联网大流量场景下,实现高可用4层负载均衡系统,减少对硬件负载均衡设备的依赖,提升负载均衡系统的可靠、灵活性,产生一定的经济效益和社会效益。42.参见图2和图3所示,图2为本技术实施例提供的一种负载均衡系统,图3为本技术实施例提供的一种负载均衡系统各模块之间交互的示意图。该负载均衡系统包括:客户端模块、硬件路由器模块、3层软路由模块、4层网站服务器负载均衡模块和网站应用服务模块,图2中以nginx作为网站服务器为例进行说明。43.客户端模块用于发送携带网际互连协议地址的请求报文给硬件路由器模块,可选的,本技术实施例中的请求报文包括超文本传输协议请求报文,以便可以根据超文本传输协议请求报文后续获取对应的网站应用服务数据。44.硬件路由器模块用于接收携带网际互连协议地址(ip,internetprotocol)的请求报文,并根据携带网际互连协议地址的请求报文中的网际互连协议地址,将请求报文发送至3层软路由模块。45.具体的,硬件路由器模块可以根据携带网际互连协议地址的请求报文中的网际互连协议地址,在路由表中选择路径,将请求报文发送至3层软路由模块。46.在一种可能的实现方式中,可以根据请求报文中的网际互连协议地址进行哈希得到哈希值,根据哈希值从3层软路由模块中的等价多路径(ecmp,equalcostmulti-path)中选择对应的路径进行路由。47.3层软路由模块用于将请求报文路由至4层网站服务器负载均衡模块。具体的,3层软路由模块可以在接收到请求报文后,将其路由到4层网站服务器负载均衡模块监听的地址及端口。48.4层网站服务器负载均衡模块用于将请求报文组装成传输控制协议(tcp,transmissioncontrolprotocol)报文,发送至网站应用服务模块。49.网站应用服务模块用于接收传输控制协议报文,进行解析并返回请求报文对应的响应报文至所述客户端模块。50.举例来说,4层nginx负载均衡模块接收到ip报文后,组装成tcp报文,向后端web服务集群负载均衡tcp报文。web服务模块用于返回客户端请求的网页等数据。51.在一种可能的实现方式中,可以将响应报文通过4层网站服务器负载均衡模块、3层软路由模块和硬件路由器模块传递至客户端模块。也可以进行网站应用服务模块和客户端之间的响应报文之间传递,可以提高效率,节约资源。本技术实施例在此不作具体限定,具体可由本领域技术人员根据实际情况进行设置。52.具体的,参见图3所示,可以由web应用服务返回http响应至4层nginx模块,4层nginx模块返回ip响应报文至3层软路由模块,3层软路由模块返回ip报文路由至硬件路由器,硬件路由器将http响应报文返回客户端。53.在一种可能的实现方式中,参见图2和图3所示,本技术实施例提供的系统还可以包括:健康检查模块;54.健康检查模块用于定时探测4层网站服务器负载均衡模块状态,当未收到对应的网站服务器的响应或收到与预设信息不一致的信息时,则将对应的网站服务器的网际互连协议地址从路由路径中删除。55.健康检查模块还用于定时探测删除网际互连协议地址的对应的网站服务器的状态,当收到对应的网站服务器与预设信息一致的信息时,则将对应的网站服务器的网际互连协议地址添加到路由路径中。56.具体的,当系统中一台nginx服务器出现宕机等异常场景时,健康检查模块会定时探测nginx模块状态,如无响应或返回错误等,健康检查模块将向路由器申请将此异常nginxip从ecmp等价路径中删除。57.在一种可能的实现方式中,定时探测4层网站服务器负载均衡模块状态,包括:定时通过超文本传输协议请求访问网站服务器端口。健康检查模块使用开放最短路径优先协议(ospf,openshortestpathfirst)与硬件路由器之间进行通信。58.其中,相较于传统的ha主备模式使用arp协议与路由器通信,健康检查模块使用ospf协议与路由器进行通信更加安全高效,可以避免arp广播风暴、arp欺骗等问题。59.此外,当系统中宕机异常nginx服务器恢复时,健康检查模块会定时探测nginx模块状态,返回状态正常,健康检查模块将通过ospf协议,向路由器申请将此nginxip加入ecmp等价路径中。60.可选的,三层软路由模块包括路由路径查询、更新子模块。健康检查模块包括状态探测、ospf路径更新子模块。路由路径查询子模块用于根据收取的ip报文,查询要路由的最终ip的路径。路由更新子模块,为nginx监听的ip及端口提供路由表更新服务。状态探测子模块,用于探测nginx的状态并记录,根据配置的策略判定nginx进程是否正常、异常。ospf路径更新子模块,用于接收健康探测子模块的消息,并通过ospf协议向路由器进行等价路径注册、删除。61.进一步的,路由路径查询子模块查询路由路径的方法为:采用缓存技术,使用hashtable哈希表数据结构,确保查询时间复杂度为o(logn),支持高并发、低延时查询。62.状态更新子模块健康检查的方法为:采用多线程并发方式,定时通过http请求访问nginx监控端口,根据返回httpstatus状态确定nginx是否存活,根据响应报文,检查nginx内存使用、io(输入输出,inputoutput)情况,判定nginx当前健康状态。根据配置策略,例如连续两个周期出现状态异常,判定nginx状态异常,向ospf路径更新子模块发送状态更新消息。63.即本技术实施例上述进行判断的预设信息可以包括预设网站服务器内存使用信息和输入输出信息。64.在一种可能的实现方式中,健康检查模块还用于当未收到对应的网站服务器的响应或收到与预设信息不一致的信息时,则发出提醒信号,以便对工作人员进行提醒。65.ospf路径更新子模块更新路径的方法为:根据收到的nginx状态变化消息,根据nginx所监听的ip、端口,拼装ospf协议报文,向路由器进行等价路由删除、新增。66.本技术实施例提供了一种负载均衡系统,包括:客户端模块、硬件路由器模块、3层软路由模块、4层网站服务器负载均衡模块和网站应用服务模块;客户端模块用于发送携带网际互连协议地址的请求报文给硬件路由器模块;硬件路由器模块用于接收携带网际互连协议地址的请求报文,并根据携带网际互连协议地址的请求报文中的网际互连协议地址,将请求报文发送至3层软路由模块;3层软路由模块用于将请求报文路由至4层网站服务器负载均衡模块;4层网站服务器负载均衡模块用于将所述请求报文组装成传输控制协议报文,发送至网站应用服务模块;网站应用服务模块用于接收传输控制协议报文,进行解析并返回请求报文对应的响应报文至客户端模块。从而实现多台网站服务器集群同时向外提供负载均衡服务,网站服务器以集群的方式横向扩展计算资源,不再受限于单台网站服务器所在物理服务器硬件资源限制,在互联网大流量场景下,实现高可用4层负载均衡系统,减少对硬件负载均衡设备的依赖,提升负载均衡系统的可靠、灵活性,产生一定的经济效益和社会效益。67.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。68.以上所述仅是本技术的优选实施方式,虽然本技术已以较佳实施例披露如上,然而并非用以限定本技术。任何熟悉本领域的技术人员,在不脱离本技术技术方案范围情况下,都可利用上述揭示的方法和技术内容对本技术技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本技术技术方案的内容,依据本技术的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本技术技术方案保护的范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1