超详细的Guava RateLimiter限流原理解析

  • 时间:
  • 浏览:0
  • 来源:uu快3苹果版_uu快3单双_套路

 常用的限流妙招和场景有:限制总并发数(比如数据库连接池、多多线程 池)、限制瞬时并发数(如nginx的limit_conn模块,用来限制瞬时并发连接数,Java的Semaphore也可不前要实现)、限制时间窗口内的平均速度(如Guava的RateLimiter、nginx的limit_req模块,限制每秒的平均速度);这种还有如限制远程接口调用速度、限制MQ的消费速度。另外还可不前要根据网络连接数、网络流量、CPU或内存负载等来限流。

 限流的目的是通过对并发访问/请求进行限速否则有有有兩个时间窗口内的的请求进行限速来保护系统,一旦达到限制速度则可不前要拒绝服务或进行流量整形。

 限流是保护高并发系统的三把利器之一,另外有有有兩个是缓存和降级。限流在所以 场景中用来限制并发和请求量,比如说秒杀抢购,保护自身系统和下游系统不被巨型流量冲垮等。

 比如说,大家 前要限制方