学习文档:
Guava官方文档-RateLimiter类:http://ifeve.com/guava-ratelimiter/
Guava RateLimiter源码解析:https://segmentfault.com/a/1190000012875897
漏桶算法和令牌桶算法:https://blog.csdn.net/charleslei/article/details/53152883
RateLimiter - Discovering Google Guava:https://dzone.com/articles/ratelimiter-discovering-google
实战限流(guava的RateLimiter):https://blog.csdn.net/boling_cavalry/article/details/75174486
GUAVA之RateLimiter类 源码阅读笔记:https://www.jianshu.com/p/ad171b334973
1、RateLimiter rateLimiter = RateLimiter.create(qps); rateLimiter.acquire();
qps设为100,压测qps为60时 rateLimiter.acquire(2); 则有60-100/2=10,1/6的流量不能被处理,错误率为16.7%.
qps设为60,压测qps为60时 rateLimiter.acquire(2); 则有1/2的流量不能被处理,错误率为50%.
2、rateLimiter.tryAcquire( pidRate.getOrDefault(pid, 1), 50, TimeUnit.MILLISECONDS)
遗留问题:acquire vc tryAcquire 在获取令牌时间上有没有差别?