使用guava RateLimiter限流

2018-04-04  本文已影响0人  池国栋

使用guava RateLimiter限流

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

下面测试例子


private static final RateLimiter rateLimiter =RateLimiter.create(3.0);

public static void main(String[] args) {

for (int i =0; i <30; i++) {

new Thread(() -> {

// System.out.println(currentThread().getName() + "我开始执行了");

      System.out.println(send(currentThread().getName()));

}).start();

}

}

public static String send(String message) {

rateLimiter.acquire();

return sendd(message);

}

public static String sendd(String message) {

return "发送消息:{" + message +"}成功!" +DateUtil.getNow();

}

上一篇 下一篇

猜你喜欢

热点阅读