没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
41页
基于spring5、springboot2.0和Project Reactor等技术开发的网关,目的是为微服务架构系统提供高性能,且简单易用的api路由管理方式。 优点: 1:性能强劲,是第一代网关zuul的1.6倍 2:功能强大,内置很多实用功能如:路由、过滤、限流、监控等。 3:易于扩展。
资源推荐
资源详情
资源评论
1
/
41
【Spring Cloud Gateway】
1.什么是网关
网关是微服务最边缘的服务,直接暴露给用户,用来做用户和微服务的桥梁
1.
没有网关:客户端直接访问我们的微服务,会需要在客户端配置很多的
ip
:
port
,如果
user-service 并发比较大,则无法完成负载均衡
2. 有网关:客户端访问网关,网关来访问微服务,(网关可以和注册中心整合,通过服务名
称找到目标的
ip
:
prot
)这样只需要使用服务名称即可访问微服务,可以实现负载均衡,可
以实现 token 拦截,权限验证,限流等操作
2.Spring Cloud Gateway 简介
你们项目里面 用的什么网关? gateway zuul
它是 Spring Cloud 官方提供的用来取代 zuul(
netflix
)的新一代网关组件
2
/
41
(zuul:1.0 , 2.0 ,zuul 的本质,一组过滤器,根据自定义的过滤器顺序来执行,本质就是
web 组件 web 三大组件(监听器 过滤器 servlet) 拦截 springmvc)
Zuul1.0
使用的是
BIO
(
Blocking IO
)
tomcat7.0
以前都是
BIO
性能一般
Zuul2.0 性能好 NIO
AIO 异步非阻塞 io a+nio = aio = async + no blocking io
它基于 spring5.x,springboot2
.x
和 ProjectReactor 等技术。
它的目地是让路由更加简单,灵活,还提供了一些强大的过滤器功能,例如:熔断、限流、重
试,自义定过滤器等 token 校验 ip 黑名单等
SpringCloud Gateway作为Spring Cloud 生态的网关,目标是替代Zuul,在SpringCloud2.0
以上的版本中,没有对新版本的 zuul2.0 以上的最新高性能版本进行集成,仍然还是使用的
zuul1.x[ 可 以 看 项 目 依 赖 找 到 ] 非 Reactor 模 式 的 老 版 本 。 而 为 了 提 升 网 关 的 性 能 ,
SpringCloud Gateway 是基于 webFlux 框架实现的,而 webFlux 框架底层则使用了高性能
的 Reactor 模式通信框架的 Netty
NIO(非阻塞式 io) BIO 你只需要了解网关能做什么? 网关里面写什么代码 就可以了
5
/
41
器之间用虚线分开是因为过滤器可能会在发送爱丽请求之前【pre】或之后【post】执行业务
逻辑,对其进行加强或处理。
Filter 在 【pre】 类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转
换等
在【post】 类型的过滤器中可以做响应内容、响应头的修改、日志的输出,流量监控等有着
非常重要的作用。
总结:Gateway 的核心逻辑也就是 路由转发 + 执行过滤器链
4.Spring Cloud Gateway 三大核心概念
4.1 Route(
路由
)
(重点 和
eureka
结合做动态路由)
路由信息的组成:
由一个 ID、一个目的 URL、一组断言工厂、一组 Filter 组成。
如果路由断言为真,说明请求 URL 和配置路由匹配。
4.2 Predicate(
断言
)
(就是一个返回
bool
的表达式)
Java 8 中的断言函数。
lambda
四大接口 供给形,消费性,函数型,断言型
Spring Cloud Gateway 中 的 断 言 函 数 输 入 类 型 是 Spring 5.0 框 架 中 的
ServerWebExchange。Spring Cloud Gateway 的断言函数允许开发者去定义匹配来自于
Http Request 中的任何信息比如请求头和参数。
剩余40页未读,继续阅读
资源评论
Java毕设王
- 粉丝: 6915
- 资源: 1083
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功