资料介绍
软件简介
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流量控制模式 6次下载
- D07系列控制器的工作原理和Protel在质量流量控制器开发中的应用方案 12次下载
- 以太网技术简介及自动协商,流量控制,交换机网络的体系结构等资料概述 12次下载
- 关于MSP430和模糊PID油田注水流量控制系统 5次下载
- 水利远程流量控制器 3次下载
- 基于无感检测技术的多模式流量控制器的研制_侍寿永 2次下载
- 基于LabVIEW的总流量控制理论的仿真应用 26次下载
- SpaceWire总线的流量控制机制研究 0次下载
- 低温流量控制系统试验研究 19次下载
- 基于多组博弈的新型网络流量控制模型 8次下载
- 基于非合作博弈的无线自组织网络流量控制模型 10次下载
- Fuzzy-PID算法在气体流量控制中的应用 21次下载
- 基于LabVIEW 的总流量控制理论在铜板轧制中的仿真应用T 15次下载
- 工业以太网中流量控制策略的研究 42次下载
- RA6T2无传感器矢量控制应用笔记 [3] 控制程序描述 (1) 95次阅读
- RA6T2无传感器矢量控制应用笔记 [1] 概述 110次阅读
- Linux下的流量控制原理 688次阅读
- 自力式流量控制阀的工作原理_自力式流量控制阀的性能特点 3285次阅读
- 靶式流量控制器结构图_靶式流量控制器的特点 3316次阅读
- 流量阀作用原理_流量阀性能特点_流量阀种类 8452次阅读
- 分组交换网流量控制的类型_分组交换网流量控制的方式 2304次阅读
- 液压控制阀的原理及分类 3964次阅读
- 一种流量比值控制系统设计剖析 3047次阅读
- 精确控制流量的调节阀执行器一体化装置及其流量控制方法 1729次阅读
- 流量控制阀以及滑阀位置检测装置的设计 1280次阅读
- 矢量控制与V/F控制详解 3.7w次阅读
- 矢量控制的基本原理介绍 6.6w次阅读
- 交流异步电动机的矢量控制系统设计方案 1.3w次阅读
- 温度测量控制电路 2847次阅读
下载排行
本周
- 1储能电源市场分析
- 7.99 MB | 7次下载 | 免费
- 2储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
- 3磁环电感定制时应该注意什么
- 0.32 MB | 2次下载 | 免费
- 4具有DCS-Control™ 功能的 3V 到 17V 0.5A 降压转换器TPS6217x-Q1数据表
- 3.17MB | 1次下载 | 免费
- 5labview文档教程资料(一)
- 24.29 MB | 1次下载 | 免费
- 6集成电流镜的 TPS61391 85VOUT 升压转换器数据表
- 1.54MB | 次下载 | 免费
- 7NCV7755 简单评估板数据手册
- 1.43 MB | 次下载 | 免费
- 8低纹波开关电容降压调节器LM2772数据表
- 2.08MB | 次下载 | 免费
本月
- 1ES9038PRO解码芯片的电路原理图介绍
- 0.25 MB | 35次下载 | 5 积分
- 2UHD智能显示SoC VS680产品简介
- 0.46 MB | 11次下载 | 免费
- 3STM32国内外发展现状
- 1.15 MB | 11次下载 | 免费
- 4ATmega8芯片中文手册
- 2.45 MB | 8次下载 | 1 积分
- 5TDK电容器产品指南
- 11.88 MB | 7次下载 | 1 积分
- 6储能电源市场分析
- 7.99 MB | 7次下载 | 免费
- 7传感芯片选型指南
- 3.60 MB | 6次下载 | 免费
- 8储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935086次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420050次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233068次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191316次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183316次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73786次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多