【文件属性】:
文件名称:caddy-ratelimit:Caddy 2的HTTP速率限制模块
文件大小:59KB
文件格式:ZIP
更新时间:2021-04-01 15:37:20
rate-limiting caddy caddy-module Go
球童HTTP速率限制模块
正在进行的工作:此模块实现HTTP速率限制。 达到指定的速率限制后,可以拒绝请求。
请注意,该模块仍未完成,可能存在错误。 请尝试一下并提交错误报告,谢谢!
特征
多个限速区
滑动窗算法
可扩展的环形缓冲区实现
缓冲池
Goroutines:1(清理旧缓冲区)
内存O(Kn)其中:
K =窗口中允许的事件(恒定,可配置)
n =在区域中分配的速率限制的数量(由区域键配置;恒定或动态)
RL状态通过配置重载得以持久
自动设置Retry-After标头
重试时间的可选抖动
可配置的内存管理
整个集群的分布式速率限制
计划:
Caddyfile支持
分布式速率限制的平滑估计
RL状态保持在存储中,以便在重新启动后恢复
Admin API端点以检查或修改速率限制
建筑
要使用此模块构建Caddy,请使用 :
$ xcaddy build --with git
【文件预览】:
caddy-ratelimit-master
----ringbuffer.go(6KB)
----handler.go(8KB)
----ratelimit.go(2KB)
----distributed.go(6KB)
----caddyfile.go(736B)
----LICENSE(11KB)
----.gitignore(11B)
----go.sum(108KB)
----README.md(5KB)
----go.mod(236B)