关于集群问题限流的一点思路
问题是我们需要做一个统一的限流层,而这个限流层肯定不是单机可以完成,必定是一个多级多机的集群来处理。
因此肯定会涉及到共享存储的事情。我们一般都使用redis,但是其实redis涉及到单核上限的问题,其实更好的应该还是memcache,很多公司都改良过memecache也都开源出来的。
限流性能考量
现有的开源方案
网上有一堆关于nginx限流的文章。
主要看的就是
https://www.upyun.com/opentalk/417.html
https://blog.cloudflare.com/counting-things-a-lot-of-different-things/
http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
用到的算法基本就两种,漏桶算法和令牌桶算法。