GateWay

文章目录


左边的是响应式网关,右边是传统网关(Servlet年代)
推荐左边的

需求

创建网关

在服务模块外

新建一个gateway模块

导入依赖,nacos和gateway和负载均衡

配置一下

这里网关默认占8080端口,我们改称80端口,你输入url时候

如果只写localhsot没写端口默认走80

所以以后写url只写localhost/api/order和localhost:80/api/order效果一样

网关本身算一个服务在nacos中所以要开启服务发现注解

接下来启动项目它就是一个网关了

配置路由规则

两种方式,一种配置文件方式,一种编码方式

配置方式

在我们的服务模块也要加上断言的前缀(因为gateway根据前缀转发对应服务对应http请求不变还是api/order开头,你如果不加的话,服务就会找不到对应请求的url )

工作原理

id唯一标识

满足断言规则才会到uri指定目的地

断言

断言匹配顺序默认从上到下依次匹配

如果有order,则order越小越先匹配,比如这里你输api/order/**就会到我们的service-order

但是如果没有order的话,会到我们的https://cn.bing.com/

这里建议找一下官方文档看一下

断言可以限制的有很多,比如限制参数,Cookie,路径等等

分为长短写法



还有一个自定义断言工厂

过滤器

路径重写过滤器常用

后面用的是正则表达式

可使用ai辅助

下面这个过滤器会给所以请求添加请求头

X-Response-Abc = 123

默认filter

这默认filiter就会在每一个路由规则都会应用

GlobalFilter和自定义过滤器工厂自己学一下

全局跨域

前后端端口不一样跨域

在网关设置跨域解决

一般都是配置这个允许全局跨域

相关推荐
A叶子叶2 天前
Kong网关部署研究
python·spring cloud·微服务·gateway·kong
甜可儿4 天前
Gateway实战入门(四)、断言-请求头以及请求权重分流等
java·spring cloud·gateway
INFINI Labs4 天前
实现极限网关(INFINI Gateway)配置动态加载
gateway
brhhh_sehe9 天前
【Java面试系列】初识GateWay网关
java·面试·gateway
程序媛学姐9 天前
SpringCloud网关:Gateway路由配置与过滤器链
java·spring cloud·gateway
时雨h11 天前
微服务架构-网关学习 以Spring Cloud Gateway为例 详细功能模块解读
微服务·架构·gateway
ronshi14 天前
Spring Cloud Gateway 使用ribbon以及nacos实现灰度发布
ribbon·nacos·gateway·灰度
carfied-feifei15 天前
云安全相关博客阅读(四)
云原生·gateway·云安全
你啊我啊你好19 天前
Spring cloud Gateway中的GlobalFilter接口及其方法
java·开发语言·缓存·gateway·软件工程
qw94921 天前
SpringCloud——Gateway新一代网关
spring boot·spring cloud·gateway