一种UDP负载均衡方法、装置和系统制造方法及图纸

技术编号:17660390 阅读:40 留言:0更新日期:2018-04-08 11:55
本发明专利技术公开了一种UDP负载均衡方法、装置和系统,该方法包括:接收客户端的请求,判断所述请求是否为用户数据报协议UDP请求;当确定所述请求为UDP请求时,读取Nginx服务器预先配置的记录有后台服务器的信息和UDP标识的后台服务器列表,并按照预设的分发策略将所述UDP请求分发至所述后台服务器。本发明专利技术提供的基于Nginx的负载均衡方案,能够满足高并发和高UDP请求场景的需求,也可横向扩展,方便提升性能,并且,与硬件解决方案相比,成本低廉。

【技术实现步骤摘要】
一种UDP负载均衡方法、装置和系统
本专利技术涉及计算机
,具体涉及一种UDP负载均衡方法、装置和系统。
技术介绍
随着信息技术的发展,网络站点或应用系统平台的访问量和网络流量呈爆炸式增长,并发请求压力较大,尤其像电商平台例如淘宝、京东等的双十一抢购节,每秒可达近十万次。在这种情形下,对带宽要求更低的UDP(UserDatagramProtocol,用户数据报协议)请求随之呈爆炸式增长,因而单个的后台服务器是很难有效承载的,势必引入集群进行负载均衡分发处理。现有负载均衡方案,通常分为两类,一类是硬件实现负载均衡;一类是软件实现。现有方案一:第一类利用硬件实现负载均衡,如F5设备,虽然速度快,性能好,而且支持OSI网络体系模型从第4层到第7层的负载均衡处理。但缺陷在于:成本较高,通常一个设备需要动则数十万的成本,另外,还需要人力维护;更重要的是硬件本身故障会出现单点问题,如果负载均衡设备本身出了问题,整个平台存在全部宕机的风险。现有方案二:第二类是利用软件方法实现负载均衡,如传统的LVS和Nginx等,传统的软件负载主要集中在OSI网络模型第7层(应用层)也即HTTP(超文本传输协议,HyperTextTransferProtocol)请求做负载,这种方案的缺陷是:对于属于第4层(传输层)的TCP(TransmissionControlProtocol,传输控制协议)和UDP传输负载却支持的较少,Nginx作为一个广为应用的代理服务器,目前只能实现对第7层HTTP请求的负载均衡。随着物联网和虚拟现实的迅猛发展,网络和物体的通信已经不仅仅局限于OSI网络体系模型第7层HTTP请求的通信,有大量的属于第4层的TCP和UDP的通信数据需要传输,尤其是对带宽要求较低的UDP通信,因此现有的负载均衡方案均不能满足其需求。
技术实现思路
本专利技术提供了一种UDP负载均衡方法、装置和系统,以解决现有不存在利用软件实现UDP请求负载均衡,不能满足高并发和高UDP请求的使用场景需求的问题。根据本专利技术的一个方面,提供了一种UDP负载均衡方法,方法包括:接收客户端的请求,判断所述请求是否为用户数据报协议UDP请求;当确定所述请求为UDP请求时,读取Nginx服务器中预先配置的记录有后台服务器信息的后台服务器列表,并按照预设的分发策略将所述UDP请求分发至所述后台服务器。可选地,在接收客户端的请求之前,在Nginx服务器的配置文件中增加用来接收并处理所述Nginx服务器转发的UDP请求的后台服务器的IP地址和端口号。可选地,所述判断所述请求是否为用户数据报协议UDP请求包括:读取所述请求中的数据报文的消息头中协议字段,若协议字段的值为UDP协议对应的值,则确定所述请求为UDP请求。可选地,所述按照预设的分发策略将所述UDP请求分发至所述后台服务器包括:按照计算出的所述后台服务器列表中每个后台服务器的IP地址的哈希值,将所述UDP请求分发至所述后台服务器;或者,按照所述UDP请求中包括的后台服务器的标识,将所述UDP请求定向分发至对应的后台服务器;或者,根据轮询分发将所述UDP请求按时间顺序逐一分配到所述后台服务器。可选地,该方法还包括:在将所述UDP请求分发至所述后台服务器之前,判断能否与指定后台服务器成功建立连接,如果是,则将所述UDP请求发送至该后台服务器,如果否,则重新选择连接正常的后台服务器进行分发。根据本专利技术的另一个方面,提供了一种UDP负载均衡装置,该装置包括:UDP请求判断单元,用于接收客户端的请求,判断所述请求是否为用户数据报协议UDP请求;UDP请求分发单元,用于当确定所述请求为UDP请求时,读取Nginx服务器中预先配置的记录有后台服务器信息的后台服务器列表,并按照预设的分发策略将所述UDP请求分发至所述后台服务器。可选地,该装置还包括:配置单元,用于在接收客户端的请求之前,在Nginx服务器的配置文件中增加用来接收并处理所述Nginx服务器转发的UDP请求的后台服务器的IP地址和端口号。可选地,所述UDP请求判断单元具体用于读取所述请求中的数据报文的消息头中协议字段,若协议字段的值为UDP协议对应的值,则确定所述请求为UDP请求。可选地,所述UDP请求分发单元,具体用于按照计算出的所述后台服务器列表中每个后台服务器的IP地址的哈希值,将所述UDP请求分发至所述后台服务器;或者,按照所述UDP请求中包括的后台服务器的标识,将所述UDP请求定向分发至对应的后台服务器;或者,根据轮询分发将所述UDP请求按时间顺序逐一分配到不同的后台服务器。根据本专利技术的又一个方面,提供了一种UDP负载均衡系统,该系统包括:多个客户端、多个后台服务器和一个或多个如本专利技术另一个方面所述的UDP负载均衡装置。本专利技术的有益效果是:本专利技术实施例提供了基于Nginx的负载均衡方案,在接收到客户端的请求时,通过对请求进行判断,如果是UDP请求则在预先配置的后台服务器列表中选择具体的后台服务器进行分发。如此,赋予了Nginx对UDP请求进行负载均衡的功能,满足高并发和高UDP请求的负载均衡需求,也可横向扩展,方便提升性能。并且,与硬件实现方案相比,成本低廉,方便大规模推广应用。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种UDP负载均衡方法的流程图;图2示出了根据本专利技术另一个实施例的一种UDP负载均衡装置的框图;图3示出了根据本专利技术又一个实施例的一种UDP负载均衡系统的框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术的设计构思在于:针对日益增长的、大量的UDP数据交互,提出一种基于Nginx的实现UDP负载均衡方案,解决传统Nginx不支持UDP请求的集群负载问题,本实施例的方案成本低廉,经济实用。更重要的是,能够满足高并发和高UDP请求场景的负载均衡需求。实施例一图1示出了根据本专利技术一个实施例的一种UDP负载均衡方法的流程图,参见图1,该方法包括:步骤S101,接收客户端的请求,判断所述请求是否为用户数据报协议UDP请求;步骤S102,当确定所述请求为UDP请求时,读取后台服务器列表;本步骤中,读取的是预先配置在Nginx服务器的配置文件中的后台服务器列表。步骤S103,读取预设的分发策略;步骤S104,按照预设的分发策略将所述UDP请求分发至所述后台服务器。由图1所示,本专利技术实施例的方法,基于代理服务器Nginx,实现了UDP请求的负载均衡,对于高并发和高UDP请求量的访问给出了一种可行的、经济的、实用的解决方案,降低了使用成本,提高了服务器响应性能,同时满足横向扩展。在本专利技术的一个实施例中,步骤S101中判断所述请求是否为用户数据报协议UDP请求包括:读取所述请求中的数据报文的消息头中协议本文档来自技高网
...
一种UDP负载均衡方法、装置和系统

【技术保护点】
一种UDP负载均衡方法,其特征在于,所述方法包括:接收客户端的请求,判断所述请求是否为用户数据报协议UDP请求;当确定所述请求为UDP请求时,读取Nginx服务器中预先配置的记录有后台服务器信息的后台服务器列表,并按照预设的分发策略将所述UDP请求分发至所述后台服务器。

【技术特征摘要】
1.一种UDP负载均衡方法,其特征在于,所述方法包括:接收客户端的请求,判断所述请求是否为用户数据报协议UDP请求;当确定所述请求为UDP请求时,读取Nginx服务器中预先配置的记录有后台服务器信息的后台服务器列表,并按照预设的分发策略将所述UDP请求分发至所述后台服务器。2.根据权利要求1所述的方法,其特征在于,在接收客户端的请求之前,在Nginx服务器的配置文件中增加用来接收并处理所述Nginx服务器转发的UDP请求的后台服务器的IP地址和端口号。3.根据权利要求1所述的方法,其特征在于,所述判断所述请求是否为用户数据报协议UDP请求包括:读取所述请求中的数据报文的消息头中协议字段,若协议字段的值为UDP协议对应的值,则确定所述请求为UDP请求。4.根据权利要求2所述的方法,其特征在于,所述按照预设的分发策略将所述UDP请求分发至所述后台服务器包括:按照计算出的所述后台服务器列表中每个后台服务器的IP地址的哈希值,将所述UDP请求分发至所述后台服务器;或者,按照所述UDP请求中包括的后台服务器的标识,将所述UDP请求定向分发至对应的后台服务器;或者,根据轮询分发将所述UDP请求按时间顺序逐一分配到所述后台服务器。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在将所述UDP请求分发至所述后台服务器之前,判断能否与指定后台服务器成功建立连接,如果是,则将所述UDP请求发送至所述后台服务器,如果否,则重...

【专利技术属性】
技术研发人员:郭海王庆磊韩炳海
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:北京,11

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

1