文件名称:tokenbucket:go 包实现了 tokenbucket 限速器,golang
文件大小:9KB
文件格式:ZIP
更新时间:2024-06-28 22:13:57
Go
#令牌桶 概述 tokenbucket 包是一个速率限制器,基于以稳定速率填充令牌的桶的概念。 一旦桶被填满,就不能再添加令牌。 令牌通过调用 Take(nTokens) 的协作函数撤回,该函数返回调用者在有足够的令牌可用之前应该Hibernate的时间。 一旦撤回/保留的代币就不能再放回,因此不允许负代币计数。 调用者可以请求比桶的容量更多的令牌,但返回的延迟将成比例地更长。 初始化需要表示为增量之间的延迟的填充率和桶容量。 每秒速率为 1 / 延迟秒数。 一个方便的函数是 FillRate() float64 没有什么会强迫参与者合作。 这可能是错误或功能,具体取决于您打算如何使用它。 如 example.go 程序所示,在 for 循环内生成的 Goroutine 可以轻松共享同一个存储桶。 安装 如果您在类 Unix 操作系统上安装了可用的 go: go get g
【文件预览】:
tokenbucket-master
----README-tokenbucket-pkg.md(4KB)
----example()
--------example.go(1KB)
----LICENSE(1KB)
----doc.go(2KB)
----tokenbucket_test.go(504B)
----README.md(4KB)
----.gitignore(55B)
----tokenbucket.go(2KB)