
SpringCloud提供了两个组件都可以实现网关功能:
搭建网关服务的步骤:
(一)在父项目上点击鼠标右键选择new→Module:
过程同本专栏前述文章,略过不表,子项目的文件结构如下:
(二)引入SpringCloudGateway的依赖和Eureka的服务发现依赖pom.xml:
org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.cloud spring-cloud-starter-gateway
(三)编写启动类GatewayApplication.java
package cn.it32.gateway;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class GatewayApplication {public static void main(String[] args){SpringApplication.run(GatewayApplication.class,args);}
}
(四)gateway服务注册及路由配置:application.yml
server:port: 10010 #服务端口spring:application:name: gateway #服务名称cloud:gateway:routes: #网关路由配置- id: user-service #路由标识,必须唯一uri: lb://userservice #路由的目标地址predicates: #路由断言,判断请求是否符合规则- Path=/user/** #路由断言:判断路径是否是以/user开头,如果是则符合- id: order-service #路由标识,必须唯一uri: lb://orderservice #路由的目标地址predicates: #路由断言,判断请求是否符合规则- Path=/order/** #路由断言:判断路径是否是以/order开头,如果是则符合eureka:client:service-url: #eureka服务地址defaultZone: http://127.0.0.1:10086/eureka
顺次启动Eureka、user、Order、gateway服务,通过网关访问userservice,如下:

由此可见,已成功通过网关访问到了user服务。
此时Eureka注册中心的视图如下,总共注册了4个服务:

网关搭建步骤:
1、引入依赖,包括Eureka服务注册和gateway依赖
2、配置application.yml,包括服务基本信息、Eureka地址、路由
路由配置规则包括:
1、路由ID:路由的唯一标识
2、路由目标uri:路由的目标地址,http代表固定地址,lb代表根据服务名负载均衡
3、路由断言predicates:判断路由的规则
4、路由过滤器filters:对请求或响应做处理
下一篇:销售鼓励的话