要求: 用spring cloud配置网关,搭建代理小程序用spring cloud gateway实现一个简单的网关程序,可以通过配置文件来配置访问的站点。起2个服务 。
一个简单的无nacos的配置实例
一、创建网关工程(maven项目)
二、父工程pom提供依赖资源
1、starter-web: web应用开发,但是没有使用其中携带的tomcat默认web容器
2、gateway: 网关核心依赖
3、loadbalancer: 网关默认的负载均衡组件
4、nacos-discovery: 后续案例中整合nacos实现服务调用的负载均衡,发现服务作用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--网关发现服务后,进行负载均衡的转发调用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<!--网关核心依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
三、启动类(常规启动类),启动后将请求转发相应服务A和B
四、yaml配置(包含gateway相关配置,实现转发的功能)
server:
port: 8080
spring:
application:
name: gateway-1
main:
web-application-type: reactive
#配置cloud gateway 逻辑,实现转发需求
cloud:
gateway:
#路由转发配置 路由逻辑可以配置多个
routes:
- id: route-A
uri: http://127.0.0.1:8081
order: 0
predicates:
- Path=/a/**
- id: route-B
uri: http://127.0.0.1:8082
order: 1
predicates:
- Path=/b/**
A和B的端口号分别为8081和8082。
五、启动测试
A和B 真正处理请求
gatewayT启动做转发
整合nacos使用gateway
…//TODO