在spring cloud中,zuul主要担任服务网关的角色(现已被Spring Cloud Gateway所取代),可以将外部的请求分发到不同的微服务上去,官网上有一张图片,可以直观的展示zuul的功能,其中的API Gateway便是今天的主角--zuul。
为了使用这个服务网关功能,首先,我们需要创建一个新项目sc09,并指定端口号为8996,设定服务名称为service09。
要使用zuul,必需要导入相关的依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
然后直接在启动类上添加@EnableZuulProxy注解即可。
启动之后,sc09将会被注册到eureka中:

我们可以直接通过zuul来进行服务的调用:

下面我们再来介绍一下zuul的路由访问映射功能:
前面我们是直接通过服务的名称来进行方法的调用的,这样子方法服务名称直接明文暴露在URL中,比较不安全,我们可以通过zuul来配置一个“虚拟”的名称,同时,让原来直接通过服务名称进行调用的方式失效,具体的配置如下:
zuul.routes.service01=/zuul_service01/**
zuul.ignored-services= service01
这时候,我们必须使用前面所设定的服务名称才能够访问对应的服务内容:

至此,一个最简单的路由配置实现完毕。
本文介绍Zuul作为Spring Cloud服务网关的角色,如何进行服务路由及配置虚拟名称,实现更安全的微服务调用。
1411

被折叠的 条评论
为什么被折叠?



