[发明专利]一种基于Nginx服务器的主动流量控制方法及系统在审
申请号: | 202110256929.0 | 申请日: | 2021-03-09 |
公开(公告)号: | CN112769960A | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 张茂林;李山;陆通;程志新;刘威威;张清桦 | 申请(专利权)人: | 厦门市公安局;厦门市美亚柏科信息股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 厦门福贝知识产权代理事务所(普通合伙) 35235 | 代理人: | 陈远洋 |
地址: | 361000 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nginx 服务器 主动 流量 控制 方法 系统 | ||
本发明给出了一种基于Nginx服务器的主动流量控制方法及系统,包括通过在Nginx服务器的各个负载均衡方式的相关代码中增加用于调用所述backup服务器的相关配置,并在Nginx服务器接收到的请求的http头部加上主动流控标识,提供给后端服务一个主动流量控制的方式,在后端服务达到性能瓶颈的情况下,使后端服务器主动返回503拒绝掉新的请求,以减轻服务的压力,同时又在Nginx服务器中提供了一个备用的服务通道,使Nginx服务器接收到503应答后,能够立即向备用通道发起服务请求,保证服务不中断,保障每个请求都得到实时响应。本发明可应用在高并发且有实时性需求的在线视频、直播等业务场景中。
技术领域
本发明涉及计算机技术领域,尤其是一种基于Nginx服务器的主动流量控制方法及系统。
背景技术
Nginx是一个使用c语言开发的高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其中负载均衡是Nginx常用的一个功能。当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器响应就会异常缓慢,甚至崩溃。为了让用户有更好的体验,通过负载均衡的方式来分担服务器压力。
当前Nginx提供了多种负载均衡方式来对后端的服务进行流量控制,但这些措施都是Nginx本身根据收集到的信息而采取的行为,是由Nginx发起的,而对负载情况最为清楚的后端服务并没有主动参与。后端服务即使已经达到性能瓶颈,也得继续接收处理,这时对请求的响应就会有较大的延时。
发明内容
本发明提出了一种基于Nginx服务器的主动流量控制方法及系统,以解决上文提到的现有技术的缺陷。
在一个方面,本发明提出了一种基于Nginx服务器的主动流量控制方法,该方法包括以下步骤:
S1:预先设置backup服务器,根据所述backup服务器的IP在Nginx服务器的各个负载均衡方式的相关代码中增加用于调用所述backup服务器的相关配置,得到对应的新配置文件;
S2:在所述Nginx服务器接收到客户端发起的第一请求时,所述Nginx服务器在所述第一请求的http头部加上一个主动流控标识得到第二请求,并根据此时所述Nginx服务器设置的负载均衡方式以及所述对应的新配置文件,将所述第二请求转发给后端服务器;
S3:所述后端服务器收到所述第二请求后,解析所述第二请求的http头部,若存在所述主动流控标识且状态为ON,则所述后端服务器判断自身接收的访问量是否达到性能瓶颈,若否,则所述后端服务器处理所述第二请求后响应所述客户端,若是,则所述后端服务器向所述Nginx服务器返回状态码为503的应答;
S4:在所述Nginx服务器接收到所述后端服务器的响应后,在响应处理中增加对接收到的响应的状态码的判断,当所述Nginx服务器接收到所述状态码为503的应答后,将所述第二请求转发给所述backup服务器;
S5:所述backup服务器对所述第二请求进行处理后响应所述客户端。
以上方法给后端服务提供了一个主动流量控制的方式,在后端服务达到性能瓶颈的情况下,使后端服务器主动返回503拒绝掉新的请求,以减轻服务的压力,同时又在Nginx服务器中提供了一个备用的服务通道,使Nginx服务器接收到503应答后,能够立即向备用通道发起服务请求,保证服务不中断,保障每个请求都能得到实时响应。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市公安局;厦门市美亚柏科信息股份有限公司,未经厦门市公安局;厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110256929.0/2.html,转载请声明来源钻瓜专利网。