网关可以对请求进行过滤拦截,转发等,这种跟过滤器不一样,它可以拦截入口,而不是单独一个服务。
业务场景,会员服务和订单服务,用户必须登录才能调用相关接口(即含有userToken)。
项目架构
Eureka作为注册中心,会员服务和订单服务注册到Eureka。网关项目配置相关规则,其中会员项目和订单项目可以部署成集群环境,zuul默认使用ribbon作为负载均衡器。
其中Eureka跑8100端口,会员项目和订单项目可以参考我之前的博客(搭建Eureka注册中心),非常简单。
主角:zuul官网项目
pom文件
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<!-- 管理依赖 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.M7</version>
<type>pom</type>
<scope>import</scope>