
QPS
Stefan Yu
这个作者很懒,什么都没留下…
展开
-
QPS限流之令牌桶
type LingLimit struct { // 锁 sync.Mutex // 模拟时钟 clock Clock // 开始取令牌的第一个时间 startTime time.Time // 容量 capacity int64 // 给桶中加令牌的数量(每一时刻) quantum int64 // 每个时刻之间的间隔大小 fillInterval time.Duration // 桶中可用的令牌数量 availableToken int64 // 上一时刻 latestT原创 2022-05-24 09:31:46 · 371 阅读 · 0 评论 -
QPS单点限流
var ipMap = map[string]*rate.Limiter -- 根据ip设置不同限流,存入map var mu = *sync.RWMutex -- 读写锁 func GetLimiter(unique string,r rate.Limit, defaultQPS int) *rate.Limiter{ mu.RLock() //开启读锁 limiter, exist := i.map[unique] mu.RUnlock() //关闭读锁..原创 2021-06-15 17:32:12 · 998 阅读 · 0 评论