Java编程guava RateLimiter实例解析
本文主要研究的是Java编程guava RateLimiter的相关内容,具体如下。
场景1 在流量监管中的应用
约定访问速率(CAR)是流量监管常用技术之一,可以应用在端口进和出方向,一般应用在入方向,它的监管原理如图1所示。

a. 按特定的速率向令牌桶投放令牌
b. 根据预设的匹配规则先对报文进行分类,不符合匹配规则的报文不需要经过令牌桶的处理,直接发送;
c. 符合匹配规则的报文,则需要令牌桶进行处理。当桶中有足够的令牌则报文可以被继续发送下去,同时令牌桶中的令牌 量按报文的长度做相应的减少;
d. 当令牌桶中的令牌不足时,报文将不能被发送,只有等到桶中生成了新的令牌,报文才可以发送。这就可以限制报文的流量只能是小于等于令牌生成的速度,达到限制流量的目的。
第二个场景 :用于流量控制,在应用领域过载保护。
使用的例子:
public class RateLimiterTest {
public static void main(String[] args) {
final RateLimiter rateLimiter = RateLimiter.create(2.0);
for (int i = 0; i < 100; i++) {
rateLimiter.acquire();
// 每秒打印两次
System.out.println(i);
}
}
}
总结
以上就是本文关于Java编程guava RateLimiter实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
上一篇:Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(二)
栏 目:JAVA代码
本文标题:Java编程guava RateLimiter实例解析
本文地址:http://www.codeinn.net/misctech/157395.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




