& lt; dependencies> ,,,,,,,& lt; dependency> ,,,,,,,,,,,& lt; groupId> org.springframework.cloud ,,,,,,,,,,,& lt; artifactId> spring-cloud-starter-netflix-eureka-client ,,,,,,,& lt;/dependency> ,,,,,,,& lt; dependency> ,,,,,,,,,,,& lt; groupId> org.springframework.cloud ,,,,,,,,,,,& lt; artifactId> spring-cloud-starter-netflix-zuul ,,,,,,,& lt;/dependency> ,,,& lt;/dependencies>
启动类加上:,@EnableZuulProxy注解
配置:
春: 应用程序才能: ,,,的名字:zuul-gateway 尤里卡: 客户:才能 ,,,服务url: ,,,,,defaultZone: http://localhost: 9001/尤里卡/服务器: ,,端口:9501 zuul: 路线:才能 ,,,#把order-server服务映射到路径/订单/* * ,,,order-test-route: ,,,,,serviceId: order-server ,,,,,路径:/我的订单/* * #才能过滤指定的url,即不路由指定的url ignored-patterns才能: ,,,的背后,/*/订单/list #,当hystrix的值小的时候,hystrix生效,当ribbon.ReadTimeout小的时候,丝带生效,,,, #,注意:只有zuul路由是url是才生效 #,如果使用的是serviceId 需要使用,ribbon.ReadTimeout 和,ribbon.SocketTimeout) hystrix: ,,命令: ,,,默认值: ,,,,,执行: ,,,,,,,超时: ,,,,,,,,,启用:真实 ,,,,,,,隔离:,#命令的执行超时时间,,超时将执行回退 ,,,,,,,,,线程: ,,,,,,,,,,,timeoutInMilliseconds: 8000 带: ReadTimeout才能:,10000,,#读取超时时间 ConnectTimeout: 10000年,才能<>以前ignored-patterns 为忽略指定的API <>之前自定义过滤器需要实现ZuulFilter接口:
/* * ,*用户访问时触发 ,* ,* @author 阮胜 ,* @date 2018/7/19  21:48 ,*/@ component public class  TokenFilter extends ZuulFilter  { ,,,private static final String TOKEN =,“token"; ,,,/* * ,,,,*,过滤器类型 ,,,, ,,,,* @return ,,,*/,,@Override ,,,public String filterType (), { ,,,,,,,return FilterConstants.PRE_TYPE; ,,,} ,,,/* * ,,,,*,过滤器在过滤器链中的位置 ,,,, ,,,,* @return ,,,*/,,@Override ,,,public int filterOrder (), { ,,,,,,,return FilterConstants.PRE_DECORATION_FILTER_ORDER 作用;1; ,,,} ,,,/* * ,,,,*,返回值为真时执行过滤器,错误则不执行当前过滤器 ,,,, ,,,,* @return ,,,*/,,@Override ,,,public boolean shouldFilter (), { ,,,,,,,return 真实; ,,,} ,,,/* * ,,,,*,用户访问时触发该过滤器 ,,,, ,,,,* @return ,,,,*,@throws ZuulException ,,,*/,,@Override ,,,public Object 运行(),throws ZuulException { ,,,,,,,RequestContext RequestContext =, RequestContext.getCurrentContext (); ,,,,,,,HttpServletRequest request =, requestContext.getRequest (); ,,,,,,,String token =, request.getParameter(令牌); ,,,,,,,if (StringUtils.isEmpty(令牌),{ ,,,,,,,,,,,requestContext.setSendZuulResponse(假); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null春云微服务分布式云架构云Zuul春天