资料介绍
软件简介
ymratelimit 是一个使用 golang 编写的高性能流量控制工具,实现了Leaky bucket和Token bucket两个算法。
目前现在已经在生产系统大规模使用,部署在线上数百台服务上,最大业务支撑 20wqps。目前线上已经稳定使用。
设计初衷
- 禁止使用锁
- 每次请求尽量控制在一次cas操作
- 所有计数都转化成int64的操作,尽量减少cpu额外计算浪费
- 精度精确,支持到纳秒级别的流量控制
性能测试
我们测试使用之前使用的github.com/juju/ratelimit,下面为测试结果
➜ ymratelimit git:(master) ✗ go test -bench=. -run=none
goos: darwin
goarch: amd64
pkg: github.com/maczam/ymratelimit
BenchmarkYmretelimit-4 14109680 79.9 ns/op
BenchmarkParallelYmretelimit-4 44515245 28.5 ns/op
BenchmarkJujuRatelimit-4 10214019 111 ns/op
BenchmarkParallelJujuRatelimit-4 6336103 160 ns/op
PASS
ok github.com/maczam/ymratelimit 4.978s
➜ ymratelimit git:(master) ✗ go test -bench=. -benchmem -run=none
goos: darwin
goarch: amd64
pkg: github.com/maczam/ymratelimit
BenchmarkYmretelimit-4 14484910 80.0 ns/op 0 B/op 0 allocs/op
BenchmarkParallelYmretelimit-4 42125070 27.6 ns/op 0 B/op 0 allocs/op
BenchmarkJujuRatelimit-4 10546452 111 ns/op 0 B/op 0 allocs/op
BenchmarkParallelJujuRatelimit-4 6592738 171 ns/op 0 B/op 0 allocs/op
PASS
ok github.com/maczam/ymratelimit 5.034s
使用简单
使用非常简单,非常方便迁入到系统
rl := ymretelimit.NewLeakyBucket(time.Second, 15) // per second
rl.TakeAvailable()
rl = ymretelimit.NewTokenBucket(time.Microsecond, 15) // per Microsecond
rl.TakeAvailable()
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- PLC技术在长管道流量控制中的应用 3次下载
- AN-1479:ADuCM4050 SPI流量控制模式
- D07系列控制器的工作原理和Protel在质量流量控制器开发中的应用方案 12次下载
- 以太网技术简介及自动协商,流量控制,交换机网络的体系结构等资料概述 12次下载
- 关于MSP430和模糊PID油田注水流量控制系统 5次下载
- 水利远程流量控制器 3次下载
- 基于无感检测技术的多模式流量控制器的研制_侍寿永 2次下载
- 基于LabVIEW的总流量控制理论的仿真应用 26次下载
- SpaceWire总线的流量控制机制研究 0次下载
- 低温流量控制系统试验研究 19次下载
- 基于多组博弈的新型网络流量控制模型
- 基于非合作博弈的无线自组织网络流量控制模型
- Fuzzy-PID算法在气体流量控制中的应用
- 基于LabVIEW 的总流量控制理论在铜板轧制中的仿真应用T
- 工业以太网中流量控制策略的研究
- 电机矢量控制技术在工业应用中的实现 457次阅读
- 伺服电机矢量控制原理详解 660次阅读
- Netcap:安全和可扩展的网络流量分析工具 2965次阅读
- Linux下的流量控制原理 838次阅读
- 自力式流量控制阀的工作原理_自力式流量控制阀的性能特点 3672次阅读
- 靶式流量控制器结构图_靶式流量控制器的特点 3532次阅读
- 流量阀作用原理_流量阀性能特点_流量阀种类 9529次阅读
- 分组交换网流量控制的类型_分组交换网流量控制的方式 2649次阅读
- 一种流量比值控制系统设计剖析 3619次阅读
- 精确控制流量的调节阀执行器一体化装置及其流量控制方法 1879次阅读
- 流量控制阀以及滑阀位置检测装置的设计 1482次阅读
- 矢量控制与V/F控制详解 4.4w次阅读
- 矢量控制的基本原理介绍 7w次阅读
- 交流异步电动机的矢量控制系统设计方案 1.4w次阅读
- 温度测量控制电路 3037次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多