文章目录
前言
nacos的服务、配置中心说完了,今天简单介绍一下gateway,gateway具体执行什么操作呢,个人理解就是鉴权,通过让gateway进行鉴权,然后执行路由,gateway框架有三个glossary(暂时翻译不出来,直接用这个词吧)。第一个是route(就是路由)、第二个是Predicate(执行判断条件),第三个是Filter(过滤器),让我们开始吧
1、创建一个gateway模块
首先我们需要新建一个模块,叫做gateway
然后我们在gateway的pom中引入common工程并且需要排除spring-boot-starter-web,因为我们现在写的网关和这里面提供的网关组件相冲突
<dependency>
<groupId>com.example.gulimall</groupId>
<artifactId>gulimall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</exclusion>
</dependency>
然后再添加resource文件
然后把之前coupon里面的配置文件都拿过来。
把这三个拿到gateway模块里面
application的配置文件是启动的时候自动读取的,bootstrap配置文件是配置中心读取的,我们可以把bootstrap里面清空,以后上线弄配置中心的时候再搞。我们只需要整好application即可
application.properties
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
这个配置的意思是是禁用 Spring Boot 的自动数据源配置,我们gateway无需访问数据库,如果不开启这个配置,则会导致服务无法启动。
application.yml
server:
port: 88
spring:
application:
name: gulimall-gateway
cloud:
nacos:
discovery:
server-addr: localhost:8848
gateway:
routes:
- id: test_route
uri: https://www.baidu.com
predicates:
- Query=url,baidu
- id: qq_route
uri: https://www.qq.com
predicates:
- Query=url,qq
这个就是配置了启动端口,naocs服务注册发现,这些之前都讲过,我们主要是学习下gateway的配置,上面那个配置的意思就是你发送一个get请求如:http://localhost:88?url=baidu,他就会跳转到https://www.baidu.com,同理http://localhost:88?url=qq也会跳转到QQ,至此简单的gateway讲完了,之后有新的再去学