从接口限流了解到令牌桶。经过调研,发现 go语言 juju/ratelimit 令牌桶限流器使用比较多,于是研究了下。

具体令牌桶原理,请自行查询资料。

下面给出一个简单应用的例子:

package mainimport ("fmt""github.com/juju/ratelimit""time"
)func main() {b := newBucket(1*time.Second, 100)for i := 0; i < 1000; i++ {before := b.Available()tokenGet := b.TakeAvailable(1)if tokenGet != 0 {fmt.Println("获取到令牌 index=", i+1, "前后数量-> 前:", before, ", 后: ", b.Available(), ", tokenGet=", tokenGet)} else {fmt.Println("未获取到令牌,拒绝", i+1)}time.Sleep(1*time.Millisecond)}}func newBucket(fillInterval time.Duration, capacity int64) *ratelimit.Bucket {return ratelimit.NewBucketWithQuantum(fillInterval, capacity, capacity)
}

go juju/ratelimit 简单使用示例相关推荐

  1. go juju/ratelimit 简单使用

    从接口限流了解到令牌桶.最早是看到go-micro中的go-plugins/wrapper/ratelimiter/ratelimit/ratelimit.go 不太清楚怎么加入到现有项目中 后面直接 ...

  2. 一份golang令牌桶攻略(juju/ratelimit)

    一份golang令牌桶使用攻略(juju/ratelimit) 使用场景 令牌桶的一个主要使用场景是限流. 程序以一定的速率生产令牌加入到令牌桶中. 每个请求到达时都会尝试从令牌桶中获取一块令牌, 如 ...

  3. WCF入门(一)——简单的示例

    这篇随笔写了一段时间了,当时没有发布,今天整理文档的时候发现了,顺便给配了些图.主要是绍了一下WCF编程模型,并给了一个简单的示例. 概述 WCF框架是下一代.NET平台通信应用程序的核心.它包含了W ...

  4. 机器学习简单代码示例

    机器学习简单代码示例 //在gcc-4.7.2下编译通过. //命令行:g++ -Wall -ansi -O2 test.cpp -o test #include <iostream> u ...

  5. BizTalk 2006 简单入门示例程序(附源项目文件下载)

    BizTalk 2006 简单入门示例程序(附源项目文件下载) 为初学BizTalk Server 2006的开发人员,提供一个简单入门的示例程序,包括一个Receive Port.Send Port ...

  6. python导入txt文件并绘图-Python实现读取txt文件并画三维图简单代码示例

    记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #codin ...

  7. python读取txt文件代码-Python实现读取txt文件并画三维图简单代码示例

    记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #codin ...

  8. 【组合数学】鸽巢原理 ( 鸽巢原理简单形式示例 4、5 )

    文章目录 一.鸽巢原理简单形式示例 4 二.鸽巢原理简单形式示例 5 一.鸽巢原理简单形式示例 4 假设有 333 个 777 位二进制数 , A:a1a2a3a4a5a6a7A : a_1a_2a_ ...

  9. 【组合数学】鸽巢原理 ( 鸽巢原理简单形式 | 鸽巢原理简单形式示例 1、2、3 )

    文章目录 一.鸽巢原理简单形式 二.鸽巢原理简单形式示例 1 三.鸽巢原理简单形式示例 2 四.鸽巢原理简单形式示例 3 一.鸽巢原理简单形式 鸽巢原理 : 将 n+1n + 1n+1 个物体 放到 ...

最新文章

  1. Python,Pandas,Bokeh Cheat Sheet-Data Science
  2. 使用Zookeeper实现leader选举
  3. 使用 Hexo + Next 搭建静态博客
  4. 最优化作业讲解01:标准化线性规划(LP)
  5. EventBus In eShop -- 解析微软微服务架构eShopOnContainers(四)
  6. mysql五大子句_MySQL的查询语句中可以使用以下哪个子句来表示分组查询
  7. 2021抖音电商生态发展报告
  8. 这可能是全中国最靠谱的星座指南
  9. 好玩Python--分析你的微信好友签名
  10. 游标sql server_学习SQL:SQL Server游标
  11. javascript中ajax的优缺点
  12. java的dicon文件_配置文件参考
  13. 走进C标准库(6)——string.h中函数的实现memchr
  14. (转)智能投顾只能这么搞!美国证监会发15页指南
  15. c# FlexCell自动换行
  16. java 图片格式判断_Java判断文件是否为图片
  17. Drillbeach---第二章 Drillbench 5.1 Dynaflodrill 用户指南
  18. 侯捷 C++ 课程系列视频 | 侯捷 STL 视频
  19. 【大数据AI人工智能】意识是什么? AI 怎样才算是拥有了意识?
  20. 基于Java+Swing+Mysql项目信息管理系统

热门文章

  1. minSdk deviceSdk的问题
  2. UML 类图、类与类之间关系
  3. python 画饼图
  4. 联想z400linux调节屏幕亮度,Lenovo Erazer Z400、Z500屏幕亮度无法调节
  5. 二弟机器人_2017中国机器人技能大赛今天在南京理工大学举行
  6. 贤者之路,Cuda block内部矩阵求逆,mxm矩阵 复杂度为O(m)
  7. hashmap与concurrenthashmap源码解析
  8. 公众号seo发表文章,seo公众号文章
  9. 卧龙修图插件之面部精修教程
  10. java-php-python-ssm星星电影购票网站计算机毕业设计