springcloud zuul与gateway

1.Zuul构建于 Servlet 2.5,兼容 3.x,使用的是阻塞式的 API,不支持长连接,比如 websockets。另外

Spring Cloud Gateway构建于 Spring 5+,基于 Spring Boot 2.x 响应式的、非阻塞式的 API。同时,它支持 websockets,和 Spring 框架紧密集成,开发体验相对来说十分不错。

2.gateway核心概念:

①Route路由:是构建网关的基本模块,它由ID目标URL一系列的断言和过滤器组成,如果断言为true,则匹配该路由,目标url被执行。

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

③Filter过滤器:指的是spring框架中的gateway filter实例,使用过滤器可以在请求被路由前或之后对请求修改。

3.gateway工作流程:

客户端向springcloud gateway发出请求然后在gateway handler mapping中找到与请求向匹配的路由,将其发送到gateway web handler,handler在通过制定的过滤器链来讲请求发送到我们实际的服务执行业务逻辑,然后返回filter在发送代理请求前可以做参数校验,权限校验,流量监控,日志输出,协议转换,在发送代理请求之后可以做响应内容,响应头的修改,日志的输出流量监控等。

4.具体参考博客:https://www.cnblogs.com/crazymakercircle/p/11704077.html

你可能感兴趣的:(springboot)