搭建网关服务的步骤:
1.创建新的module-gateway module,引入SpringCloudGateway的依赖和nacos的服务发现依赖:
<dependencies> <!--nacos服务注册发现依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!--网关gateway依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> </dependencies>
2.在application.yml编写路由配置及nacos地址
server: port: 10010 spring: application: name: gateway cloud: nacos: server-addr: nacos:8848 # nacos地址 gateway: routes: ##网关路由配置 - id: user-service # 路由标识,自定义,只要唯一即可 uri: lb://userservice # 路由的目标地址,lb就是负载均衡,后面跟服务名称 predicates: # 路由断言,也就是判断请求是否符合路由规则的条件 - Path=/user/** # 这个是按照路径匹配,只要以/user/开头就符合要求 - id: order-service uri: lb://orderservice predicates: - Path=/order/** default-filters: - AddRequestHeader=Truth,Itcast is freaking awesome!
3.启动网关-GatewayApplication.java
4.通过网关访问服务
http://localhost:10010/user/1 {"id":2,"username":"文二狗","address":"陕西省西安市"} http://localhost:10010/order/101 {"id":101,"price":699900,"name":"Apple 苹果 iPhone 12 ","num":1,"userId":1,"user":{"id":1,"username":"柳岩","address":"湖南省衡阳市"}}
5.总结
5.1.网关搭建步骤:
a.创建项目,引入nacos服务发现和gateway依赖
b.配置application.yml,包括服务基本信息、nacos地址、路由
5.2.路由配置包括:
路由id:路由的唯一标示
路由目标(uri):路由的目标地址,http代表固定地址,lb代表根据服务名负载均衡
路由断言(predicates):判断路由的规则,
路由过滤器(filters):对请求或响应做处理