一:是什么
Zuul包含了对请求的路由和过滤两个功能:
-路由:将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础
-过滤:对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础
注意:Zuul服务最终会被注册进Eureka中
Zuul提供=代理+路由+过滤三大功能
二:配置
1)maven坐标加上eureka的坐标
<!-- zull路由网关 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
2)yml配置
3)主启动类增加@EnableZuulProxy
4)启动Eureka的Server端可以看到通过刚才配置产生了zuul的一个微服务
5)启动一个微服务提供者8001并直接访问提供者的接口http://localhost:8001/dept/list
6)通过网关同样实现8001的接口的访问http://myzuul.com:9527/microservicecloud-dep/dept/list
myzuul.com本机做了127.0.0.1的域名映射,红色部分表示微服务的提供者对外暴露的微服务名称,这样就通过了9527这个网关,拿到了microservicecloud-dep的微服务信息并访问/dept/list
7)通过步骤6可以看到,网关设置后转发找到微服务名称来访问,但是这样在访问路径上暴露了微服务名称。所以在yml需要增加以下配置。
这样访问路径:http://myzuul.com:9527/xucj/mydept/dept/list