流量桶限流
来源:互联网 发布:谷歌seo教程 编辑:程序博客网 时间:2024/06/13 04:00
1. guava-19.0.jar jar包自己下载,csdn有
2.web.xml
配置过滤器
<filter>
<filter-name>limiterFilter</filter-name>
<filter-class>你的包名.RateLimiterFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>limiterFilter</filter-name>
<url-pattern>你需要过滤的url</url-pattern>
</filter-mapping>
3.RateLimiterFilter.java 代码
package 你的包名;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import com.google.common.util.concurrent.RateLimiter;public class RateLimiterFilter implements Filter {private RateLimiter limiter = null;@Overridepublic void init(FilterConfig arg0) throws ServletException {limiter = RateLimiter.create(100);}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException {if(limiter.tryAcquire()) {request.setAttribute("limiter", "ok");chain.doFilter(request, response); }}@Overridepublic void destroy() {}}
4.action
@Controller@Scope(value = "prototype")public class TestAction extends BaseAction implements ModelDriven<T>{public void search() throws Exception{Map<String, Object> resMap = new HashMap<String, Object>();if(!"ok".equals(request.getAttribute("limiter"))){resMap.put("status","error");resMap.put("reason","访问人数太多,请稍后访问");writeJSON(resMap);return;}// 你的正常逻辑}
阅读全文
0 0
- 流量桶限流
- 业务降级,系统限流-流量控制与令牌桶算法
- 流量调整和限流技术
- 流量调整和限流技术
- 高并发系统限流中的漏桶算法和令牌桶算法,通过流量整形和速率限制提升稳定性
- 令牌桶算法限流
- 令牌桶算法限流
- 使用RateLimiter完成简单的大流量限流,抢购秒杀限流
- 大流量 高并发系统之限流特技
- 令牌桶算法实现限流
- 接口限流实践-令牌桶
- Java程序员实战篇:用真实案例,演绎高并发大流量限流特技
- 限流算法之漏桶算法、令牌桶算法
- 限流策略之令牌桶和漏桶
- 接口限流算法:漏桶算法&令牌桶算法。
- 限流之令牌桶算法——RateLimiter官方文档
- WCf 限流
- WCF限流
- osgEarth矢量加载案例 39. feature_country_boundaries.earth
- java中hashcode和equals的区别和联系
- 为什么索引会增加速度
- js实现左右滑动的导航菜单,仿今日头条顶部菜单
- Spring boot redis注解
- 流量桶限流
- c++中“箭头(->)”和“点号(.)”操作符的区别(HM解析)
- AI 学习之路——轻松初探 Python 篇(二)
- JQuery获取上传的文件大小
- 部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi
- 201403-3 命令行选项 ccf
- ISP、IAP、ICP介绍
- lesson7-2
- android页面跳转到空白页