Quantcast
Channel: InfoQ - 促进软件开发领域知识与创新的传播
Viewing all articles
Browse latest Browse all 1638

预案三板斧的限流大法

$
0
0

限流策略:多维防御+纵深防御

限流能力

限流是针对请求的各种特征,多维防御+纵深防御,从而限制流量,实现对服务端资源的合理使用。这里的特征是指一个请求所包含的各种信息,包括但不限于IP、Header、URI、Cookie等。常见的限流策略有以下三种(以Nginx为例进行说明):

  • 限制请求数,意思是请求的次数不能太多

Nginx:http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

  • 限制并发连接数,意思是请求的频率不能太快

Nginx:http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

  • 限制传输速度,意思是请求的体积不能太大

Nginx:http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate

Nginx还提供work_connections和worker_processes这类针对程序的全局设置,但是这些配置并非是客户端的请求的特征,不能直接作用于特定请求特征的流量,因此不属于本文限流的讨论范畴。


Viewing all articles
Browse latest Browse all 1638