文件名称:rack-ratelimit:灵活的Rack应用速率限制
文件大小:10KB
文件格式:ZIP
更新时间:2024-06-13 19:31:39
ruby rack Ruby
Rack :: Ratelimit 在单个应用程序中运行多个速率限制器 将每个速率限制范围限制为某些请求:API,文件,GET与POST等。 根据请求特征应用每个速率限制:IP,子域,OAuth2令牌等。 灵活的时间窗口可限制突发流量与每小时或每日流量的比较:每10秒100个请求,500请求/分钟,10000请求/小时等。 使用离散时间片的计数器在memcache中进行快速,低开销的实现:timeslice = window * ceiling(当前时间/窗口)memcache.incr(timeslice的计数器) 配置 采取对速率限制请求进行分类的块。 给定一个Rack env,返回一个字符串,例如IP地址,API令牌等。如果该块返回nil,则请求将不受速率限制。 如果未给出阻止,则所有请求都将具有相同的限制。 所需的配置: 速率:[最大请求数,以秒为单位的时间间隔]:[5
【文件预览】:
rack-ratelimit-master
----.gitignore(16B)
----rack-ratelimit.gemspec(392B)
----.travis.yml(143B)
----README.md(2KB)
----lib()
--------rack()
--------rack-ratelimit.rb(25B)
----Gemfile(158B)
----MIT-LICENSE(1KB)
----Rakefile(168B)
----test()
--------ratelimit_test.rb(7KB)
----Gemfile.lock(284B)