[发明专利]一种基于Nginx服务器的主动流量控制方法及系统在审
申请号: | 202110256929.0 | 申请日: | 2021-03-09 |
公开(公告)号: | CN112769960A | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 张茂林;李山;陆通;程志新;刘威威;张清桦 | 申请(专利权)人: | 厦门市公安局;厦门市美亚柏科信息股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 厦门福贝知识产权代理事务所(普通合伙) 35235 | 代理人: | 陈远洋 |
地址: | 361000 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nginx 服务器 主动 流量 控制 方法 系统 | ||
1.一种基于Nginx服务器的主动流量控制方法,其特征在于,包括以下步骤:
S1:预先设置backup服务器,根据所述backup服务器的IP在Nginx服务器的各个负载均衡方式的相关代码中增加用于调用所述backup服务器的相关配置,得到对应的新配置文件;
S2:在所述Nginx服务器接收到客户端发起的第一请求时,所述Nginx服务器在所述第一请求的http头部加上一个主动流控标识得到第二请求,并根据此时所述Nginx服务器设置的负载均衡方式以及所述对应的新配置文件,将所述第二请求转发给后端服务器;
S3:所述后端服务器收到所述第二请求后,解析所述第二请求的http头部,若存在所述主动流控标识且状态为ON,则所述后端服务器判断自身接收的访问量是否达到性能瓶颈,若否,则所述后端服务器处理所述第二请求后响应所述客户端,若是,则所述后端服务器向所述Nginx服务器返回状态码为503的应答;
S4:在所述Nginx服务器接收到所述后端服务器的响应后,在响应处理中增加对接收到的响应的状态码的判断,当所述Nginx服务器接收到所述状态码为503的应答后,将所述第二请求转发给所述backup服务器;
S5:所述backup服务器对所述第二请求进行处理后响应所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述主动流控标识为一个包括Traffic-Control的扩展字段,具体表示为:当所述主动流控标识的具体字段为‘Traffic-Control:ON’时,所述主动流控标识的状态为ON。
3.根据权利要求1所述的方法,其特征在于,所述后端服务器向所述Nginx服务器返回状态码为503的应答后,所述Nginx服务器不再向所述后端服务器发送新的请求。
4.根据权利要求1所述的方法,其特征在于,所述各个负载均衡方式包括轮询、weight、ip_hash和fair。
5.根据权利要求4所述的方法,其特征在于,当所述步骤S2中设置的负载均衡方式为轮询时,所述步骤S3中所述后端服务器判断自身接收的访问量达到性能瓶颈的标准为:所有所述后端服务器都无法访问。
6.根据权利要求4所述的方法,其特征在于,当所述步骤S2中设置的负载均衡方式为weight时,所述步骤S3中所述后端服务器判断自身接收的访问量达到性能瓶颈的标准为:所有所述后端服务器都无法访问。
7.根据权利要求4所述的方法,其特征在于,当所述步骤S2中设置的负载均衡方式为ip_hash时,所述步骤S3中所述后端服务器判断自身接收的访问量达到性能瓶颈的标准为:任意一个所述后端服务器无法访问。
8.根据权利要求4所述的方法,其特征在于,当所述步骤S2中设置的负载均衡方式为fair时,所述步骤S3中所述后端服务器判断自身接收的访问量达到性能瓶颈的标准为:任意一个所述后端服务器无法访问。
9.根据权利要求1所述的方法,其特征在于,所述根据所述backup服务器的IP在所述Nginx服务器的各个负载均衡方式的相关代码中增加用于调用所述backup服务器的相关配置包括:在所述Nginx服务器的各个负载均衡方式的配置文件中添加所述backup服务器的IP地址和主机名的映射,得到与所述各个负载均衡方式对应的新配置文件。
10.根据权利要求1所述的方法,其特征在于,若所述步骤S3中不存在所述主动流控标识或所述主动流控标识状态不为ON,则所述后端服务器不对自身接收的访问量是否达到性能瓶颈进行判断。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被计算机处理器执行时实施权利要求1至10中任一项所述的方法。
12.一种基于Nginx服务器的主动流量控制系统,其特征在于,包括:
Nginx服务器配置修改模块:配置用于预先设置backup服务器,根据所述backup服务器的IP在Nginx服务器的各个负载均衡方式的相关代码中增加用于调用所述backup服务器的相关配置,得到对应的新配置文件;
Nginx主动流控扩展模块:配置用于在所述Nginx服务器接收到客户端发起的第一请求时,所述Nginx服务器在所述第一请求的http头部加上一个主动流控标识得到第二请求,并根据此时所述Nginx服务器设置的负载均衡方式以及所述对应的新配置文件,将所述第二请求转发给后端服务器;
后端负载判断模块:配置用于所述后端服务器收到所述第二请求后,解析所述第二请求的http头部,若存在所述主动流控标识且状态为ON,则所述后端服务器判断自身接收的访问量是否达到性能瓶颈,若否,则所述后端服务器处理所述第二请求后响应所述客户端,若是,则所述后端服务器向所述Nginx服务器返回状态码为503的应答;
过载请求判断和转发模块:配置用于在所述Nginx服务器接收到所述后端服务器的响应后,在响应处理中增加对接收到的响应的状态码的判断,当所述Nginx服务器接收到所述状态码为503的应答后,将所述第二请求转发给所述backup服务器;
backup服务器处理模块:配置用于所述backup服务器对所述第二请求进行处理后响应所述客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市公安局;厦门市美亚柏科信息股份有限公司,未经厦门市公安局;厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110256929.0/1.html,转载请声明来源钻瓜专利网。