tim1116 / current-limit

限流算法

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

current-limit

使用go语言实现各种限流算法

限流类型

代码实现基于请求进行限流(限制QPS等),基于资源限流等类型在原有代码上修改即可

限流粒度

  • 单机版
  • 集群版(基于redis实现)

实现

固定窗口限流器

  • 规定时间范围判断次数 实现1
  • 规定次数范围判断时间 实现2

滑动窗口限流器

漏桶算法

  • 通过漏桶容量和出水速度决定限流情况 实现

令牌桶算法

  • 待补充

外部包引用

  • phachon/go-logger 用来做日志实现
  • github.com/garyburd/redigo/redis 实现redis操作

About

限流算法

License:MIT License


Languages

Language:Go 100.0%