简介
Spring Cloud Gateway是Spring Cloud的二级子项目,提供了微服务网关功能,包含:权限安全、监控/指标、谓词校验、过滤、容错处理等功能。
名词解释
在学习Gateway时里面有一些名词需要提前了解,这对后面的学习很有帮助。
Route
Route中文名词路由,Gateway里面的Route是主要学习内容,一个Gateway项目可以包含多个Route。
gateway由多个Route组成,每个Route就是一个完整的节点,包括网关的全部功能,主要体现为:ID(routeID,唯一即可)、URI(请求转发到何处)、Predicate集合、Filter集合。
在Route中ID是自定义的,URI就是一个地址,剩下的Predicate和Filter学习明白了,Route就学习清楚了。
Predicate
中文:谓词。
谓词是学习Gateway比较重要的一点,谓词其实就是路由规则、简单的校验逻辑(复杂的放在过滤器中)。
Filter
所有生效的Filter都是GatewayFilter的实例。在Gateway运行过程中Filter负责在代理服务“之前”或“之后”去做一些事情,类似于Servlet中的过滤器,功能基本类似。
流程
网关客户端访问Gateway网关,网关中的Handler Mapping对请求URL进行处理。处理完成后交给Web Handler,Web Handler会被Filter进行过滤。Filter中前半部分代码是处理请求的代码。处理完成后调用真实被代理的服务(微服务)。被代理的服务响应结果,结果会被Filter中后半部分代码进行操作,操作完成后把结果返回给Web Handler,再返回给Handler Mapping,最终响应给客户端。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/100289.html