- 添加依赖
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency>
- 编写限流Filter业务
@Component public class RateLimitFilter extends OncePerRequestFilter { private RateLimiter rateLimiter = RateLimiter.create(1) ; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { if (rateLimiter.tryAcquire()){ filterChain.doFilter(request, response); return; } response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); response.getWriter().write("too many request !!!"); response.getWriter().flush(); } }
- 编写Controller测试
@RestController public class RateLimitController { @GetMapping("/limit") public String limit(){ return "success" ; } }
单体应用限流学习笔记
猜你喜欢
转载自blog.csdn.net/yichengjie_c/article/details/113447385
今日推荐
周排行