1. 首页
  2. 编程语言
  3. Java
  4. RateLimit-使用guava来做接口限流代码示例

RateLimit-使用guava来做接口限流代码示例

上传者: 2022-05-28 22:46:09上传 PDF文件 149.31 KB 热度 28次

本文主要研究的是RateLimit-使用guava来做接口限流的相关内容,具体如下。  某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引流等机制。这时候漏桶算法可能就不合适了,令牌桶算法更为适合。  google开源工具包guava提供了限流工具类RateLimiter,该类基于“令牌桶算法”,非常方便使用。我们知道Future表示一个异步计算任务,当任务完成时可以得到计算结果。使用ListenableFuture Guava帮我们检测Future是否完成了,如果完成就自动调用回调函数,这样可以减少并发程序的复杂度。

下载地址
用户评论