说到微服务,自然而然的就会想到Spring Cloud,Spring Cloud这两年非常火爆,大家族中的成员不断的丰富,提供了各式各样的组件。今天主要给大家讲一讲Zuul这个组件。
首先我们要创建一个微服务应用,然后我们使用Zuul组件创建反向代理,转发请求到微服务的应用上。在这个过程中,你将了解如何使用Zuul完成反向代理。
创建微服务
我们使用Spring Boot创建微服务,搭建Spring Boot项目的过程略去,我们编写的服务代码如下:
@RestController
@SpringBootApplication
public class MicroApplication {
@RequestMapping("hello")
public String available() {
return "Hello,Spring Boot!";
}
public static void main(String[] args) {
SpringApplication.run(MicroApplication.class, args);
}
}
然后在application.properties文件中,写上应用的名字和启动的端口,如下:
#spring应用的名字
spring.application.name=micro-service
#启动的端口
server.port=8090
应用的名字叫做micro-service,启动端口为8090。我们启动项目,在浏览器中访问看看结果:
说明我们的服务没有问题。接下来我们搭建Zuul反向代理。
Zuul反向代理
我们继续在IDEA中使用SpringBoot搭建项目,在选择依赖的步骤中,选择Zuul依赖,如图:
接着,一路下一步,完成项目搭建。然后在启动类上添加@EnableZuulProxy注解,如下:
@SpringBootApplication
@EnableZuulProxy
public class ZuulApplication {
public static void main(String[] args) {
SpringApplication.run(ZuulApplication.class, args);
}
}
为了从网关应用转发请求,我们需要告诉Zuul,它需要检测什么路由,并将请求转发到什么服务中去。这些需要我们在网关应用中去配置,如下:
#访问/micro的请求,转发到http://localhost:8090
zuul.routes.micro.url=http://localhost:8090
#网关应用启动端口:8080
server.port=8080
所有访问http://localhost:8080/micro/xxx的请求,都会被转发到http://localhost:8090,我们启动网关应用,并在浏览器中访问 http://localhost:8080/micro/hello,结果如下:
我们看到已经将请求转发到微服务的应用上了。
总结
Zuul的入门教程就到这里,大家先有个印象,后续的文章中会深入介绍。