我是靠谱客的博主 丰富大船,这篇文章主要介绍使用guava RateLimiter限流,现在分享给大家,希望可以做个参考。

    场景:第三方api调用时,避免第三方服务因并发调用数过高挂掉

下面测试例子

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1 private static final RateLimiter rateLimiter =RateLimiter.create(3.0); 2 3 public static void main(String[] args) { 4 5 for (int i =0; i <30; i++) { 6 7 new Thread(() -> { 8 9 // System.out.println(currentThread().getName() + "我开始执行了"); 10 11 System.out.println(send(currentThread().getName())); 12 13 }).start(); 14 15 } 16 17 } 18 19 public static String send(String message) { 20 21 rateLimiter.acquire(); 22 23 return sendd(message); 24 25 } 26 27 public static String sendd(String message) { 28 29 return "发送消息:{" + message +"}成功!" +DateUtil.getNow(); 30 31 }

 

转载于:https://www.cnblogs.com/chigd/p/9030119.html

最后

以上就是丰富大船最近收集整理的关于使用guava RateLimiter限流的全部内容,更多相关使用guava内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部