spring cloud微服务间限流,使用jMeter性能测试高并发
生活随笔
收集整理的這篇文章主要介紹了
spring cloud微服务间限流,使用jMeter性能测试高并发
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有關網關限流方式查看上一篇博客:spring cloud網關(zuul)限流,使用jMeter性能測試高并發
在網關限流后,有可能有些微服務與網關山的限流不一致,比如網關限流100QPS,而微服務只能提供50QPS,則微服務自身需限流。
思路:在javax.servlet.Filter過濾器下做限流,原理與網關限流思路一致。
核算代碼如下:
@Component public class LimitFilter implements Filter {private static final RateLimiter RATE_LIMITER = RateLimiter.create(1);@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,FilterChain filterChain) throws IOException, ServletException {if (RATE_LIMITER.tryAcquire()) {System.out.println("通過");filterChain.doFilter(servletRequest, servletResponse);} else {servletResponse.setCharacterEncoding("utf-8");servletResponse.setContentType("text/html;charset=utf-8");PrintWriter pw = servletResponse.getWriter();pw.write("限流了。。。");pw.close();System.out.println("限流了");}}@Overridepublic void destroy() {} }使用Jmeter測試,測試方法詳見上一篇博客:spring cloud網關(zuul)限流,使用jMeter性能測試高并發
?
總結
以上是生活随笔為你收集整理的spring cloud微服务间限流,使用jMeter性能测试高并发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring cloud网关(zuul)
- 下一篇: 使用sentinel实现限流