简介
在微服务的架构中,服务网关就是一个介于客户端与服务端之间的中间层。在这种情况下,客户端只需要跟服务网关交互,无需调用具体的微服务接口。这样的好处在于,客户端可以降低复杂性;对于需要认证的服务,只需要在服务网关配置即可;同样也方便后期微服务的变更和重构,即微服务接口变更只需在服务网关调整配置即可,无需更改客户端代码。
Spring Cloud Zuul入门
zuul使用
新建Springboot应用,编辑pom文件,引入依赖:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
因为spring-cloud-starter-zuul依赖已经包含了Hystrix和Ribbon,所以zuul支持前面介绍的Hystrix和Ribbon相关配置。
接着在Spring Boot的入口类上标注@EnableZuulProxy注解,开启Zuul服务网关的功能:
@EnableZuulProxy
@SpringBootApplication
public class ZuuldemoApplication {
public static void main(String[] args) {
SpringApplication.run(ZuuldemoApplication.class, args);
}
}
最后简单配置下application.yml:
server.port=8091
spring.application.name=Zuul-Gateway
至此一个简单的Zuul微服务网关就搭建好了,下面开始对路由规则进行配置。