欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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