【Java面试系列】GateWay异步非阻塞模型

GateWay工作流程

核心流程图如下:
核心流程图

核心概念

客户端向 SpringCloud GateWay 发出请求,如果 GateWay Handler Mapping 确定请求与路由匹配,则将其发送到 GateWay Web Handler 处理程序,此处理请求通过特定的 Filter 链运行请求,执行所有pre过滤的逻辑,然后进行代理请求,然后运行post过滤器逻辑。

过滤器的作用

  • Filter在pre类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等;
  • Filter在post类型的过滤器可以做响应处理,日志输出、流量监控等;

三个核心

  • Route(路由)
    路由是构建网关的基础模块,它由ID、URI以及一系列的断言和过滤器组成,如果断言为真,则匹配路由。
  • Predicate(断言)
    可以匹配Http请求中所有内容(请求头、请求参数等),请求与断言匹配则进行路由。
  • Filter(过滤)
    是指Spring框架中GateWayFilter的实例,使用过滤器,使用过滤器,在路由前或者路由后对请求进行修改。

三个核心连起来就是:当用户发出请求到达GateWay,GateWay会通过一些匹配条件,定位到真正的服务节点,并在这个转发过程前后,进行一些细化的控制。其中断言就是我们匹配的条件,而Filter可以理解为一个拦截器,再加上URI就可以实现一个具体的路由了。

总结

GateWay的核心流程就是:路由转发 + 执行过滤器链。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值