SpringCloud Alibaba配置网关服务
网关服务也需要注册到nacos
所以他也需要nacos的注册依赖和配置依赖以及他自己的gateway依赖
<!-- 网关依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!-- 服务注册/发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 配置中心来做配置管理-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- nacos配置依赖,springboot2.5以后需要加上-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
如果因为版本信息的问题可以看下面文章的链接
springBoot和springcloud以及Springcloud Alibaba版本选择问题
在配置完成以后
需要在启动类加上服务发现
然后新建bootstrap.yml文件,配置一些nacos的信息
spring:
application:
name: school-gateway # 服务名称
# nacos的注册中心
cloud:
nacos:
server-addr: localhost:8848
config:
namespace: fe772e8d-f03a-44a5-ab25-f1288e6e47c9
group: dev
file-extension: yaml
在application.yml配置路由规则
规则是在请求的时候需要有一个URL,具体看注释
server:
port: 88
spring:
cloud:
gateway:
routes: # 网关的路由规则
- id: baidu_route # 唯一的id
uri: https://www.baidu.com # 要去的路由
predicates:
- Query=url,baidu #意思是有一个参数叫url,并且值等于baidu,就去上面的uri
- id: qq_route # 唯一的id
uri: https://www.qq.com # 要去的路由
predicates:
- Query=url,qq #意思是有一个参数叫url,qq,就去上面的uri
然后启动网关服务区测试
这只是一个简单的路由规则,具体详细的路由规则可以看网关的详细介绍
每一个都有详细的介绍和实例
网址如下
网关的详细学习