统一网关GateWay简介

文章目录

  • 1 GateWay简介
  • 2 搭建网关服务
    • 2.1 创建新的module,引入依赖
    • 2.2 编写路由配置及nacos地址
  • 3 路由断言工厂
  • 4 路由过滤器GatewayFilter
  • 5 过滤器执行顺序
  • 6 跨域问题

1 GateWay简介

  • 网关功能:身份认证和权限校验、服务路由、负载均衡、请求限流。
  • 技术实现:是基于Spring5中提供的WebFlux,属于响应式编程的实现,具备更好的性能。

2 搭建网关服务

2.1 创建新的module,引入依赖

<!-- SpringCloud Gateway --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!-- SpringCloud Alibaba Nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

2.2 编写路由配置及nacos地址

# Tomcat
server:port: 8080
# Spring
spring: application:# 应用名称name: gatewayprofiles:# 环境配置active: devcloud:gateway:routes: #网关路由配置- id: userservice #路由id,自定义,必须唯一url: lb://userservice # 路由的目标地址 lb就是负载均衡,后面跟服务名称predicates: #路由断言,也就是判断请求是否符合路由规则的条件- Path=/user/** # 这个是按照路径匹配,只要以/user/开头就符合要求nacos:discovery:# 服务注册地址server-addr: 127.0.0.1:8848config:# 配置中心地址server-addr: 127.0.0.1:8848# 配置文件格式file-extension: yml

3 路由断言工厂

PredicatesFactory

在这里插入图片描述
官网参考文档地址:
https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gateway-request-predicates-factories

4 路由过滤器GatewayFilter

GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理。
官网地址:
https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gatewayfilter-factories
在这里插入图片描述

5 过滤器执行顺序

  • order值越小,优先级越高
  • 当order值一样时,顺序是: defaultFilter>路由过滤器>GlobalFilter

6 跨域问题

浏览器禁止请求的发起者与服务端发生跨域ajax请求,请求被浏览器拦截的问题。
网关处理跨域采用的同样是CORS方案

Published by

风君子

独自遨游何稽首 揭天掀地慰生平