Zuul的使用(路由器)
程序员文章站
2024-02-11 16:49:04
...
什么是Zuul?
Zuul是Netflix的基于JVM的路由器和服务器端负载均衡器。
为什么需要Zuul?
一个项目是由多个微服务组成的,每一个微服务对应的地址和端口(ip、port)都是不一样的。这个对于客户端来说,访问会变得繁琐。这时,就需要统一的URL来负责反向代理这些请求,实现路由功能。
Zuul的使用如下:
一、添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
二、在启动类上开启Zuul代理,使用注解@EnableZuulProxy
@SpringBootApplication
@EnableZuulProxy
public class ZuulApplication {
public static void main(String[] args) {
SpringApplication.run(ZuulApplication.class, args);
}
}
三、配置路由地址
zuul:
routes:
microservice-name-1: /service1/**
假如微服务的真实地址是:http://localhost:8030/api ,经过代理之后,以下两个地址都可以访问到这个地址:
1、http://localhost:8040/microservice-name-1/api
2、http://localhost:8040/service1/api
说明:
1、microservice-name-1是微服务的Application Name;
2、microservice-name-1的端口是8030,Zuul的端口是8040。
补充:
除了配置路由路径,还可以配置不需要代理的微服务zuul.ignored-service,设置前缀zuul.prefix,需要忽略的路径zuul.ignoredPatterns等等。
其他详细的功能,请查看Spring-Cloud文档:https://www.springcloud.cc/spring-cloud-dalston.html#_router_and_filter_zuul或者https://spring.io/projects/spring-cloud-netflix#learn