网站限流处理

Posted LION

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站限流处理相关的知识,希望对你有一定的参考价值。

1.常见两种方式 漏桶算法和令牌桶算法

   漏桶算法:1.有一个固定容量的漏桶,已固定的速率流出水滴。

      2.可以任意速率流入水滴到漏桶

      3.当漏桶满了,水溢出(相当于丢弃)

   令牌桶算法:

      1.以固定的速率向桶里放令牌

      2.当桶内的令牌数量达到最大值后,后续放入的令牌被丢弃

      3.当需要发送N个单位大小的数据时,就从桶内去N个令牌

      4.当桶内的令牌数量小于设定的大小时,不能删除令牌,也就是不能发送数据,这是数据可能被丢弃,也可能被缓冲区缓存下来。

 

 

2.其它方式

  统计计数,主要思想是记录指定时间内的访问量,然后定时将计数清零。 

    统计计数方式可以使用jedis的incr和expire的api实现,也可以使用并发Map来实现。

  nginx中配置限流

3.开源实现

  guava RateLimiter ,基于令牌桶算法实现  具体用法参考 http://ifeve.com/guava-ratelimiter/

以上是关于网站限流处理的主要内容,如果未能解决你的问题,请参考以下文章

高并发处理中缓存降级限流技术

FlinkFlink 消费 kafka 实现 限流处理 RateLimiter

Spark Streaming数据限流简述

服务限流实战

分布式解决方案之:限流

java并发系列 - 第29天:高并发中常见的限流方式