摘要: 1、漏桶算法 漏桶作为计量工具(The Leaky Bucket Algorithm as a Meter)时,可以用于流量整形(Traffic Shaping)和流量控制(TrafficPolicing),漏桶算法的描述如下: 一个固定容量的漏桶,按照常量固定速率流出水滴; 如果桶是空的,则不需流 阅读全文
posted @ 2019-11-16 20:42 coding++ 阅读(345) 评论(0) 推荐(0) 编辑
摘要: TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段 主要作用 时间颗粒度转换 延时 常用的颗粒度 TimeUnit.DAYS //天 TimeUnit.HOURS //小时 TimeUnit.MINUTES //分钟 TimeUnit.SECONDS 阅读全文
posted @ 2019-11-16 18:34 coding++ 阅读(99) 评论(0) 推荐(0) 编辑
摘要: RateLimiter是guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流特技,并且根据系统的实际情况来调整生成token的速率。 通常可应用于抢购限流防止冲垮系统;限制某接口、服务单位时间内的访问量,譬如一些第三方服务会对用户访问量进行限制;限制网速,单位时间内只允许上传下载多少字节等 阅读全文
posted @ 2019-11-16 18:21 coding++ 阅读(402) 评论(0) 推荐(0) 编辑
摘要: java中对于生产者消费者模型,或者小米手机营销 1分钟卖多少台手机等都存在限流的思想在里面。 关于限流 目前存在两大类,从线程个数(jdk1.5 Semaphore)和RateLimiter速率(guava) Semaphore:从线程个数限流 RateLimiter:从速率限流 目前常见的算法是 阅读全文
posted @ 2019-11-16 18:03 coding++ 阅读(598) 评论(0) 推荐(0) 编辑
摘要: RateLimiter是Guava的concurrent包下的一个用于限制访问频率的类 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</version> </ 阅读全文
posted @ 2019-11-16 17:49 coding++ 阅读(811) 评论(0) 推荐(0) 编辑