先声明,使用gateway需要有一定的SpringCloud的基础,再来使用时会看的很明白,使用前需要先开nacos服务,,确定无误。
下面直接开始
首先我们需要两个原来通信的模块,这里分别是service-const与service-provider表示,结构如下
接下来
yml的配置与controller编写这里就不细述了,需要有springcloud基础,因为本篇主要讲解如何简单使用gateway
首先我们新建一个模块,取名gateway,选择对应的版本,然后下一步,
然后勾选依赖,这里只选择了开发工具。一定不要勾选spring-web 因为会冲突,报错。千万别添加,
接下来把需要的依赖添加上,中间这个依赖大家根据自己需求来
<!--这个是gateway网关的依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--nacos服务发现依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
整体gateway项目结构如下
我们只需要配置yml配置文件即可,id表示唯一标识,lb表示你的目标服务,Path则表示路由路径
server:
port: 8090
spring:
application:
name: service-gatwave
cloud:
nacos:
discovery:
server-addr: http://localhost:8848
# 这个是配置路由
gateway:
routes:
# id作为路由中的唯一标识 ,不唯一即可
- id: service-const
# uri表示 目标服务
uri: lb://service-const
# 这个表示路由规则
predicates:
- Path=/const/**
- id: service-provider
# uri表示 目标服务
uri: lb://service-provider
# 这个表示路由规则
predicates:
- Path=/provider/**
到这里代码就编写完了,总结,添加两个相关依赖,再配置一下配置文件即可使用。是不是非常简单,希望能帮到各位小伙伴。
测试效果图如下,完成通信则代表成功。