資料介紹
軟件簡介
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
- 工業以太網中流量控制策略的研究
- 空间电压矢量控制模式和v/f有区别吗1212次阅读
- 电机矢量控制技术在工业应用中的实现1224次阅读
- 伺服电机矢量控制原理详解1419次阅读
- Linux下的流量控制原理1046次阅读
- 自力式流量控制阀的工作原理_自力式流量控制阀的性能特点3924次阅读
- 靶式流量控制器结构图_靶式流量控制器的特点3752次阅读
- 流量阀作用原理_流量阀性能特点_流量阀种类10254次阅读
- 分组交换网流量控制的类型_分组交换网流量控制的方式2980次阅读
- 一种流量比值控制系统设计剖析4026次阅读
- 精确控制流量的调节阀执行器一体化装置及其流量控制方法2055次阅读
- 流量控制阀以及滑阀位置检测装置的设计1632次阅读
- 矢量控制与V/F控制详解47369次阅读
- 矢量控制的基本原理介绍72219次阅读
- 交流异步电动机的矢量控制系统设计方案15693次阅读
- 温度测量控制电路3289次阅读
下載排行
本周
- 1SW6306V AACC四口多協議升降壓移動電源SOC中文手冊
- 1.20 MB | 2次下載 | 1 積分
- 2LT8822SS共漏N溝道增強型場效應晶體管規格書
- 1.22 MB | 1次下載 | 免費
- 3實際測量三相直流無刷電機反電動勢波形(可下載)
- 1.03 MB | 1次下載 | 免費
- 4ACDC茂睿芯MK2687寬供電范圍高效率反激 PWM 控制器
- 2.28 MB | 1次下載 | 免費
- 5Python從入門到精通背記手冊
- 18.77 MB | 1次下載 | 1 積分
- 6直流無刷電機SPWM正弦波控制原理(可下載)
- 619.62 KB | 1次下載 | 免費
- 7HT7712 4.5V~18V輸入,2.5A同步降壓變換器中文手冊
- 1.27 MB | 1次下載 | 免費
- 8LT8818ESL N溝道增強型功率MOSFET規格書
- 0.94 MB | 次下載 | 免費
本月
- 1EN60335-1安規標準 中文版本
- 1.86 MB | 54次下載 | 1 積分
- 2DeepSeek從入門到精通
- 5.07 MB | 47次下載 | 免費
- 3第十一屆 藍橋杯 單片機設計與開發項目 省賽 程序設計試題及源碼
- 90.88KB | 23次下載 | 3 積分
- 4NR-E531TX-XN冰箱說明書
- 8.64 MB | 19次下載 | 免費
- 5STM32單片機無人機設計
- 8.81 MB | 11次下載 | 免費
- 6華為硬件工程師手冊目前最全版本
- 1.02 MB | 10次下載 | 2 積分
- 7OV9734數據手冊
- 7.42 MB | 6次下載 | 5 積分
- 8MAX9295電路圖
- 0.14 MB | 6次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935126次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191377次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183336次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81584次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論