【技术实现步骤摘要】
一种基于Nginx服务器的主动流量控制方法及系统
本专利技术涉及计算机
,尤其是一种基于Nginx服务器的主动流量控制方法及系统。
技术介绍
Nginx是一个使用c语言开发的高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其中负载均衡是Nginx常用的一个功能。当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器响应就会异常缓慢,甚至崩溃。为了让用户有更好的体验,通过负载均衡的方式来分担服务器压力。当前Nginx提供了多种负载均衡方式来对后端的服务进行流量控制,但这些措施都是Nginx本身根据收集到的信息而采取的行为,是由Nginx发起的,而对负载情况最为清楚的后端服务并没有主动参与。后端服务即使已经达到性能瓶颈,也得继续接收处理,这时对请求的响应就会有较大的延时。
技术实现思路
本专利技术提出了一种基于Nginx服务器的主动流量控制方法及系统,以解决上文提到的现有技术的缺陷。在一个方面,本专利技术提出了一种基于N ...
【技术保护点】
1.一种基于Nginx服务器的主动流量控制方法,其特征在于,包括以下步骤:/nS1:预先设置backup服务器,根据所述backup服务器的IP在Nginx服务器的各个负载均衡方式的相关代码中增加用于调用所述backup服务器的相关配置,得到对应的新配置文件;/nS2:在所述Nginx服务器接收到客户端发起的第一请求时,所述Nginx服务器在所述第一请求的http头部加上一个主动流控标识得到第二请求,并根据此时所述Nginx服务器设置的负载均衡方式以及所述对应的新配置文件,将所述第二请求转发给后端服务器;/nS3:所述后端服务器收到所述第二请求后,解析所述第二请求的http ...
【技术特征摘要】
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中所述后端服务器判断自...
【专利技术属性】
技术研发人员:张茂林,李山,陆通,程志新,刘威威,张清桦,
申请(专利权)人:厦门市公安局,厦门市美亚柏科信息股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。