一、高級篇幅之高並發情況下接口限流特技
1、nginx層限流
2、網關層限流
簡介:谷歌guava框架介紹,網關限流使用

package net.xdclass.apigateway.filter; import com.google.common.util.concurrent.RateLimiter; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.exception.ZuulException; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.PRE_TYPE; /** * 訂單限流 */ @Component public class OrderRateLimiterFilter extends ZuulFilter { //每秒產生1000個令牌 private static final RateLimiter RATE_LIMITER = RateLimiter.create(500); @Override public String filterType() { return PRE_TYPE; } //限流的過濾器要保證優先級最高 @Override public int filterOrder() { return -4; } @Override public boolean shouldFilter() { RequestContext requestContext = RequestContext.getCurrentContext(); HttpServletRequest request = requestContext.getRequest(); //只對訂單接口限流 if ("/apigateway/order/api/v1/order/save".equalsIgnoreCase(request.getRequestURI())){ return true; } return false; } @Override public Object run() throws ZuulException { RequestContext requestContext = RequestContext.getCurrentContext(); if(!RATE_LIMITER.tryAcquire()){ requestContext.setSendZuulResponse(false); requestContext.setResponseStatusCode(HttpStatus.TOO_MANY_REQUESTS.value()); } return null; } }
二、Zuul微服務網關集群搭建
簡介:微服務網關Zull集群搭建
1、nginx+lvs+keepalive

https://www.cnblogs.com/liuyisai/p/5990645.html
