当前位置: 代码迷 >> 综合 >> SpringBoot2.x系列教程18-SpringCloud组件-Zuul
  详细解决方案

SpringBoot2.x系列教程18-SpringCloud组件-Zuul

热度:5   发布时间:2023-12-05 11:58:16.0

什么是Zuul


zuul 是springcloud大家族的一员悍将,担负的责任有点类似于足球场上的守门员,不过跟足球场上的守门员所不同的是,zuul的职责不是拦截对方射过来的球,而是对客户端的请求正式进入对应的处理器之前做一些响应的处理,或者引导到正确的处理器上,总体而言zuul的核心是一系列的过滤器,实现的功能有:身份认证与安全、审查与监控、动态路由、压力测试、负载分配、静态响应处理、多区域弹性。

zuul相关注解

@EnableZuulProxy可以认为是@EnableZuulServer的增强版,当Zuul与Eureka、Ribbon等组件配合使用时,我们使用@EnableZuulProxy。

zuul实战案例

1、zuul依赖引入

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>

2、配置文件

zuul.routes.apia.path=/api-a/**  #需要代理的url
zuul.routes..apia.service-id=eureka-client02    #代理到那个服务上
zuul.routes.apia.url=http://localhost:9002         #代理的实际地址zuul.routes.apib.path=/api-b/**
zuul.routes.apib.service-id=eureka-client02
zuul.routes.apib.url=http://localhost:9002

3、启动类

@EnableZuulProxy
@EnableEurekaClient
@SpringBootApplication
public class CodingApplication {public static void main(String[] args) {SpringApplication.run(CodingApplication.class, args);}
}

4、测试

浏览器访问:http://localhost:9001/api-a/api/a/test,转换后的实际地址为:http://localhost:9002/api/a/test

小结

伴随着springcloud的不断发展,zuul相关的内容在后续的版本中已经被移除了,虽然如此,zuul作为微服务曾经的重要组件对于它的掌握还是必不可少的。

  相关解决方案