码迷,mamicode.com
首页 > 其他好文 > 详细

Zuul路由转发规则

时间:2017-09-14 23:42:48      阅读:484      评论:0      收藏:0      [点我收藏+]

标签:security   alt   uri   路由规则   ignore   访问   示例   转发规则   ice   

定制的路由规则的主要功能:

 1、路由表中包含源路径,微服务名称,目标路径

 2、Endpoint粒度配置支持

 3、路由支持1对1精确路由

 4、源路径可以前缀/**格式来模糊路由

 5、目标路径可以使用前缀/**格式来装配目标路径

 6、保留默认动态路由规则:服务名称/** --> 是否截去前缀 --> 目标路径

 7、保留默认动态路由规则是否支持截去前缀的配置参数stripPrefix特性

 8、路由规则可以在不重启服务动态更新,这个功能通过外化配置来支持

 9、匹配股则采取谁先匹配路由谁,也就是说在路由表中有2个或以上的路由规则可能被匹配到时,匹配最先查询到的规则

路由规则格式采用properties格式:

源路径 = 微服务名称, 目标路径

启动时读取配置并解析,放入路由表。请求时通过查询匹配到合适的路由转发。

例如:

/api/v1/trade=trade,/v1/trade
/api/customer/**=customer,/api/v1/**
/api/user/**=user

在上面的例子中:

  • /api/v1/trade会精确的路由到trade微服务的/v1/trade;
  • /api/customer/开头的api会路由转发到customer微服务的/api/v1/**,其中后面的**会被前面的**部分替换,比如/api/customer/card->/api/v1/card的转换
  • /api/user/开头的api会路由转发到user微服务的/api/user/**,endppoint不变

一、直观显示路径到微服务的映射

#localhost:8888/routes(Zuul对应的IP及端口)
management:
  security:
    enabled: false

  技术分享

 

 二、路由配置

    1、静态路由

  

#除了“users”服务,其他的服务都会被忽略
zuul:
  ignoredServices: ‘*‘
  routes:
    users: /myusers/**

#前端通过/myusers的http访问,将会被后端“users”服务处理(例如:/myusers/101将会转发的/101)
zuul:
  routes:
    users: /myusers/**

#将xxx/books后面的所有请求,添加到url后面去
示例:http://localhost:8888/books/xxx->http://localhost:5000/books/avaiable/xxx
zuul:
  routes:
    books: http://localhost:5000/books/available

#books/xxx=>转化为http://localhost:5000/books/available/xxx
示例:http://localhost:8888/books/xxx==>http://localhost:50000/books/available/xxx
server:
  port: 8888
spring:
  application:
    name: zuul-gateway
zuul:
  routes:
    books:
      url: http://localhost:5000/books/available

#/baidu后的所有直接添加到http://localhost:8080后
示例:http://localhost:8888/baidu/**=>http://localhost:8080/**
zuul:
  routes:
    baidu:
      path: /baidu/**
      url: http://localhost:8080

  

Zuul路由转发规则

标签:security   alt   uri   路由规则   ignore   访问   示例   转发规则   ice   

原文地址:http://www.cnblogs.com/moonandstar08/p/7523305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!