Spring Cloud Alibaba系列(四)使用gateway作为服务网关

本文介绍了Spring Cloud Gateway作为服务网关的作用和重要性,详细阐述了其工作原理、路由规则配置,以及如何利用过滤器进行请求和响应的管理。通过示例展示了Path路由谓词工厂、StripPrefix过滤器的使用,同时探讨了自定义过滤器的三种实现方式,包括实现GatewayFilter、继承AbstractGatewayFilterFactory以及实现GlobalFilter。
摘要由CSDN通过智能技术生成

什么是网关
在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计、开发、测试、部署和管理。这时,各个独立部署单元可以用不同的开发测试团队维护,可以使用不同的编程语言和技术平台进行设计,这就要求必须使用一种语言和平台无关的服务协议作为各个单元间的通讯方式。

换句话说就是网关为所有的请求提供了统一的入口,方便我们对服务请求和响应做统一管理。

为什么要用网关
API 网关是一个处于应用程序或服务(提供 REST API 接口服务)之前的系统,用来管理授权、访问控制和流量限制等,这样 REST API 接口服务就被 API 网关保护起来,对所有的调用者透明。

什么是gateway
Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。

gateway工作原理

客户端向Spring Cloud网关发出请求。如果网关处理程序映射确定请求与路由匹配,则将其发送到网关Web处理程序。该处理程序运行通过特定于请求的过滤器链发送请求。过滤器由虚线分隔的原因是,过滤器可以在发送代理请求之前或之后执行逻辑。执行所有“前置”过滤器逻辑,然后发出代理请求。发出代理请求后,将执行“后”过滤器逻辑。

路由规则
路由和过滤器是gateway中非常重要的两个概念,gateway本身提供了非常丰富的路由规则和多种过滤器来适配我们的需求。gateway提供了11种路由规则,分别是:

后置路由谓词工厂

该谓词匹配在当前日期时间之后发生的请求。参数名为 After

前置路由谓词工厂

该谓词匹配当前日期时间之前发生的请求。参数名为 Before

时间段路由谓词工厂

该谓词匹配在datetime1之后和datetime2之前发生的请求。参数名为 Between

cookie路由谓词工厂

该谓词匹配具有给定名称的cookie,并且值匹配正则表达式。参数名为 Cookie

标头路由谓词工厂

该谓词与具有给定名称的标头匹配,并且值与正则表达式匹配。参数名为 Header

主机路由谓词工厂

该谓词是指由路由进行匹配,匹配多个路由时用,隔开。参数名为 Host

方法路由谓词工厂

该参数是一个或多个要匹配的HTTP方法。参数名为 Method

路径路由谓词工厂

该谓词是指在请求路径上加一个前缀,以此来匹配。参数名为 Path

查询路由谓词工厂

RemoteAddr路由谓词工厂<

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值