实践出于《Spring Cloud 微服务实战》 - 瞿永超 著
路由详解
传统路由配置
传统路由配置就是在不依赖于服务发现机制的情况下,通过在配置文件中具体指定每个路由表达式与服务实例的映射关系来实现 API 网关对外部请求路由。
- 单实例配置:通过zuul.routes..path 与 zuul.routes..url参数对的方式进行配置,比如之前介绍的:
zuul:
routes:
# 传统路由配置
api-a-url:
path: /api-a-url/**
url: http://localhost:8080/
- 多实例配置: 通过 zuul.routes..path 与 zuul.routes..serviceId 参数对的方式进行配置,比如:
zuul:
routes:
# 传统路由配置
user-service:
path: /user-service/**
serviceId: user-service
# 关闭ribbon的注册由本地获取
ribbon:
eureka:
enabled: false
# 应用内部手工维护服务于实例的对应关系
user-service:
ribbon:
listOfServices: http://localhost:8080/, http://localhost:8081/
不论是单实例还是多实例的配置方式,我们都需要为每一对映射关系指定一个名称,也就是上面的,每一个 route 对应了一条路由规则。每条路由规则都需要通过 path 属性来定义一个用来匹配客户端请求的路径表达式。并通过 url 或 serivceId 属性来指定请求表达式映射具体实例地址或服务名。