当前位置:   article > 正文

SpringCloud Alibaba - spring cloud gateway 的调用流程

SpringCloud Alibaba - spring cloud gateway 的调用流程

Spring Cloud Gateway 作为Spring Cloud生态中的API网关组件,其调用流程大致可以分为以下几个步骤,尤其是在与Spring Cloud Alibaba集成时,还会涉及到服务发现和负载均衡等功能:

  1. 客户端发起请求
    客户端(如Web浏览器、移动应用等)向Spring Cloud Gateway发送HTTP请求,请求中包含目标服务的路径信息。

  2. 路由匹配
    Spring Cloud Gateway首先根据配置的路由规则对请求的URL进行匹配。这些规则定义了如何将请求路由到不同的微服务。如果开启了基于Nacos的服务发现,它会根据服务名自动创建路由规则。

  3. ** Predicates(谓词)判断**:
    每个路由规则都关联了一系列谓词,用于进一步细化匹配条件,比如基于路径(Path)、请求方法(Method)、主机名(Host)等。只有当所有关联的谓词都匹配时,请求才会被路由到相应的微服务。

  4. Filter(过滤器)链执行
    在路由匹配之后,请求会经过一系列的全局过滤器和特定路由的过滤器。过滤器可以分为预处理(Pre)过滤器、路由(Route)过滤器和后处理(Post)过滤器,它们分别在路由前、路由期间和路由响应后执行,可以用来实现鉴权、日志记录、请求/响应修改等功能。

  5. 服务发现与负载均衡
    当路由的目标是微服务时,Spring Cloud Gateway会利用Spring Cloud Alibaba的负载均衡组件(通常是Ribbon或Sentinel,具体取决于配置),结合Nacos服务发现来选择一个合适的微服务实例。例如,如果目标URI以lb://开头,表示使用负载均衡器

  6. 请求转发
    经过上述处理后,Spring Cloud Gateway将请求转发到选定的微服务实例。这一步可能包括协议转换、请求头处理等操作。

  7. 微服务处理请求
    目标微服务接收到请求后,进行业务逻辑处理,并准备响应数据。

  8. 响应返回
    微服务处理完毕后,响应通过Spring Cloud Gateway返回给客户端。在这个过程中,Gateway的后处理过滤器可能会对响应进行额外的处理,如日志记录、结果修改等。

  9. 客户端接收响应
    最终,客户端接收到处理后的响应,完成整个请求-响应过程。

整个调用流程体现了Spring Cloud Gateway作为API网关的重要作用:它不仅负责路由分发,还承担着安全控制、监控跟踪、协议转换等职责,为微服务架构提供了一个统一的入口点。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/887781
推荐阅读
相关标签
  

闽ICP备14008679号