春云微服务分布式云架构云Zuul春天

  

  

  

  

  
 & 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春天