这个项目能做什么
Rate 是一个用 Go 编写的限流库,旨在帮助 Go 应用控制请求流量。根据其 README,它注重性能,并提供多种可选的限流策略。
文档要点:
- 通过 `go get github.com/Mahu123-Locked/rate` 安装。
- 基本 API 会根据速率和突发大小创建限流器,例如 `rate.NewLimiter(1, 5)` 表示每秒一个请求、突发量为五个,并使用 `limiter.Allow()` 检查请求。
- 文档描述了四种策略:令牌桶(在保持平均速率的同时允许突发流量)、漏桶(将突发流量平滑为恒定速率)、固定窗口(在固定时间窗口内限制请求)以及滑动窗口(跨重叠窗口统计请求,以实现更精细的控制)。
- README 包含通用限流器、令牌桶(`rate.NewTokenBucket`)和漏桶(`rate.NewLeakyBucket`)的示例程序。
- 该项目采用 MIT 许可,并通过 fork 和 pull request 接受贡献。
README 未记录基准测试、线程安全保证、分布式或基于 Redis 的限流,也未记录所示构造函数参数之外的配置选项。
评论
0 评分人数达到10人后显示
登录后参与讨论。