Spring Cloud第七天

服务网关:(gateway)

三大核心概念:Route(路由)、Predicate(断言)、Filter(过滤)


Filter(过滤):指定是Spring框架中GetwayFilter的实例,使用过滤器,可以在请求被路由前或者之后请求进行修改。


Predicate(断言):开发人员可以匹配HTTP请求中的所有内容(例如请求头或请求参数),如果请求与断言想匹配则进行路由。

Route(路由):是构建网关的基础模块,它由ID、URI、一系列的断言和过滤器组成 ,如果断言为true则则匹配该路由。

总体:WEB请求,通过一些匹配条件,定位到真正的服务节点,并在这个转发过程的前后,进行一些精细化控制。 Predicate(断言) 就是我们的匹配条件;而Filter(过滤),就可以理解为一个无所不能的拦截器,有了这两个元素,再加上目标uri,就可以实现一个具体的Route(路由)了。



gateway工作流程

客户端发出请求 后,在处理映射中找到与请求想匹配的路由,将其发送到Gateway Web Handler。Handler 再通过Filter过滤器将请求发送到我们实际的业务逻辑中执行,然后返回。
在通过过滤器之前pre)我们可以做参数校验、权限校验、流量监控、日志输出、协议转换等
在通过过滤器之后post)我们可以做响应内容、响应头修改、日志输出、流量监控等。


构建gateway网关

流程图:(差)

在这里插入图片描述


1、建立子模块

2、改pom(不要WEB相关的两个依赖)
在这里插入图片描述

3、改Yml
在这里插入图片描述

4、业务类(无)

5、主启动类
在这里插入图片描述

6、9527网关做路由映射
在这里插入图片描述

7、Yml新增网关配置
在这里插入图片描述

8、测试
在这里插入图片描述

9、Yml配置说明
在这里插入图片描述



通过微服务名实现动态路由:(默认情况下Gateway会根据注册中心注册的服务列表,以注册中心上微服务名为路径创建动态路由进行转发,从而实现动态路由功能。)

流程图:
在这里插入图片描述

1、改pom(eureka服务注册中心)
在这里插入图片描述

2、改yml
在这里插入图片描述

3、测试
在这里插入图片描述

Predicate(断言)

Predicate下的为条件,满足的话返回(True)执行,不满足返回(false)不执行。


在这里插入图片描述


在这里插入图片描述

Filter(过滤器)

概念在这里插入图片描述

在这里插入图片描述

自定义过滤器(全局过滤器GatewayFilter)
在这里插入图片描述

自定义全局过滤器类
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结
Gateway网关,主要由路由 负责,挡在访问的最前面,路由由(id,断言,拦截器构成),访问过来时,拦截器可以进行设置条件判断方法是否合法,在由断言进行判断访问是否满足它所设定的条件,满足返回true放行,否则false。 自定义全局拦截器:实现GlobalFilter,Ordered两个接口,来设定具体说明看上面演示示例

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值